首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将HTML表单中的值添加到数据库中的值

如何将HTML表单中的值添加到数据库中的值
EN

Stack Overflow用户
提问于 2013-04-05 06:52:46
回答 3查看 145关注 0票数 0

我正在尝试创建一个表单,以允许用户将数据从表单更新到数据库中的现有金额。这是到目前为止我所拥有的,它的价值似乎翻了一番。我想我需要从数据库中提取值,然后从表单中添加数据。

代码语言:javascript
复制
<?php 
$username = "username";
$password = "password";
$hostname = "localhost";

//connection to the database
$dbhandle = mysql_connect($hostname, $username, $password)
 or die("Unable to connect to MySQL");
echo "<font face=tahoma color=#ff000><b>Connected to MySQL</b></font><br><br>";

//select a database to work with
$selected = mysql_select_db("pdogclan_points",$dbhandle)
  or die("Did this change");

// Formulate Query
$_POST["filter"];
$memid = mysql_real_escape_string($_POST["Member_ID"]);
$query = sprintf("SELECT Member_ID, Bank, Reward_1, Reward_2, Reward_3 FROM Points_Rewards WHERE Member_ID = '$memid'") or die("Could Not Formulate the Query");

//execute the SQL query and return records
$result = mysql_query($query);

// Check result
// This shows the actual query sent to MySQL, and the error. Useful for debugging.
if (!$result) {
    $message  = 'Invalid query: ' . mysql_error() . "\n";
   $message .= 'Whole query: ' . $query;
    die($message);
}

//fetch tha data from the database
while ($row = mysql_fetch_array($result))   
echo "<table width=750 cellspacing=2 cellpadding=2 border=2>
        <tr>
            <td bgcolor=#000000 width=150><font face=tahoma color=white>ID: {$row['Member_ID']}</font></td>". 
            "<td width=150><font face=tahoma>Bank: {$row['Bank']}</td>". 
            "<td width=150><font face=tahoma>Reward 1: {$row['Reward_1']}</td>". 
            "<td width=150><font face=tahoma>Reward 2: {$row['Reward_2']}</td> ". 
            "<td width=150><font face=tahoma>Reward 3: {$row['Reward_3']}</td>
        </tr>
  </table><br></font>";//display the results
// Formulate Update Query
$_POST["submit"];
$memid = mysql_real_escape_string($_POST["Member_ID"]);
$query = sprintf("SELECT Member_ID, Bank, Reward_1, Reward_2, Reward_3 FROM Points_Rewards WHERE Member_ID = '$memid'") or die("Could Not Formulate the Query");

while ($row = mysql_fetch_array($result))
{
$bankdb = $row['Bank'];
$reward1db = $row['Reward_1'];
$reward2db = $row['Reward_2'];
$reward3db = $row['Reward_3'];
}
echo $bank;
echo $reward1;
echo $reward2;
echo $reward3;
$memid = mysql_real_escape_string($_POST["Member_ID"]);
$bank = $_POST['bank'];
$reward1 = $_POST['reward1'];
$reward2 = $_POST['reward2'];
$reward3 = $_POST['reward3'];



$query = "UPDATE Points_Rewards Set Bank = ('$bank' + '$bankdb'), Reward_1 =    ('$reward1' + '$reward1'), Reward_2 = ('$reward2' + '$reward2'), Reward_3 = ('$reward3' + '$reward3') WHERE Member_ID = '$memid'";
$result = mysql_query($query) or die(mysql_error());



if(mysql_query($query)){
echo "updated";}
else{
echo "fail";}

//close the connection
mysql_close($dbhandle);
?>
EN

回答 3

Stack Overflow用户

发布于 2013-04-05 07:12:35

只需使用基本的HTML创建一个表单,将从数据库获取的数据存储在PHP变量中,然后使用PHP标记显示该数据,如下所示:

代码语言:javascript
复制
<form action="..." method="post" >
<?php
$memid = mysql_real_escape_string($_POST["Member_ID"]);
$query = sprintf("SELECT Member_ID, Bank, Reward_1, Reward_2, Reward_3 FROM Points_Rewards WHERE Member_ID = '$memid'") or die("Could Not Formulate the Query");

while ($row = mysql_fetch_array($result))
{
?>
<input type="text" name="r1" value="<?php echo $row['Reward_1']; ?>" /> ;
<input type="text" name="r2" value="<?php echo $row['Reward_2']; ?>" /> ;
<input type="text" name="r3" value="<?php echo $row['Reward_3']; ?>" /> ;
...    
<?php 
}
?>   

...
</form>
票数 1
EN

Stack Overflow用户

发布于 2013-04-05 07:10:39

您可以在SQL中对表值使用运算符-它将如下所示:

代码语言:javascript
复制
$query = "UPDATE Points_Rewards Set Bank = (Bank + '$bankdb'), Reward_1 =    (Reward_1 + '$reward1'), Reward_2 = (Reward_2 + '$reward2'), Reward_3 = (Reward_3 + '$reward3') WHERE Member_ID = '$memid'";
票数 0
EN

Stack Overflow用户

发布于 2013-04-05 07:24:05

这就是结构

代码语言:javascript
复制
 // if a form is submitted
 if(isset($_POST['submit'])) {
 $memid = $_POST["Member_ID"];

 //SELECT or INSERT or UPDATE your DATABASE. Yes use PDO and prepared statements.
$query = $dbh->prepare("SELECT Member_ID, Bank, Reward_1, Reward_2, Reward_3 FROM Points_Rewards WHERE Member_ID = '$memid'")

//don't forget to bind parameters
$sth->bindParam(':memid', $memid, PDO::PARAM_INT);
$sth->execute(...);

//the loop
while ($row = $sth->fetch(PDO::FETCH_ASSOC)) {
echo '';
}

//close the if statement
}

//write the form
<form method="post"/>
<input name="Member_ID" type="text" required/>
<input name="submit" type="submit" value="submit" />
</form>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15823105

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档