在我的数据库中,我有 20 多个列。我通过输入表单添加了 19 列并成功存储在数据库中。我从主页中的数据库中获取几行。在我的主页上还有 1 栏。即状态栏,它是一个组合框类型。如果我单击状态列,它应该显示 4 个值。我想选择其中一个值,然后当我单击“保存”按钮时,它必须以相同的 ID 存储在数据库中。怎么做?我尝试过,但它没有在 mysql 数据库中更新...
主页组合框编码:
echo "\t<td><form action=statusdb.php method=post>
<select name=update><option value=empty></option><option value=Confirm>Confirm</option><option value=Processing>Processing</option><option value=Pending>Pending</option><option value=Cancelled>Cancelled</option></select>
<input name=\"update[".$a_row['slno']."]\"; type=submit id=id value=Save></form>
</td>\n";
状态数据库编码:
if (isset($_GET['id']))
{
$id = mysql_real_escape_string($_GET['id']);
$sql = mysql_query("UPDATE guestdetails SET status = '" . $_POST['update'] ."'");
if(!$sql)
{
die("Error" .mysql_error());
}
}
帮我看看该怎么做?
最佳答案
在你的 IF 中应该是 $_POST,而不是 $_GET 另外,需要添加 WHERE 子句,如下所示:
if (isset($_POST['id']))
{
$id = mysql_real_escape_string($_POST['id']);
$update= mysql_real_escape_string($_POST['update']);
$sql = mysql_query("UPDATE guestdetails SET status = '$update' WHERE id='$id'");
if(!$sql)
{
die("Error" .mysql_error());
}
}
此外,您使用了名称 update
两次,一次在 <select>
曾经在<input>
,取 <input>
中的那个出来,使其隐藏字段名称为 id
和您的slno
的值(value)行:
echo "\t<td>
<form action=statusdb.php method=post>
<select name=update>
<option value=empty></option>
<option value=Confirm>Confirm</option>
<option value=Processing>Processing</option>
<option value=Pending>Pending</option>
<option value=Cancelled>Cancelled</option>
</select>
<input name='id' type='hidden' value='".$a_row['slno']."';>
<input type='submit'>Save</button>
</form>
</td>\n";
关于php - 使用 php 编码更新 mysql 中的现有行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19195254/