此代码假设您已连接到一个 MySQL 数据库,该数据库具有一个包含姓名和电子邮件的表。其目的是输出该表中每个值的文本输入表格。然后,您可以更改这些输入的值并重新提交,从而更新数据库中的所有值。
//get data from db
$sql = mysql_query("SELECT * FROM table");
$count=mysql_num_rows($sql);
//start a table
echo '<form name="form1" method="post" action="">
<table width="292" border="0" cellspacing="1" cellpadding="0">';
//start header of table
echo '<tr>
<th> </th>
<th>Name</th>
<th>Email</th>
</tr>';
//loop through all results
while($r=mysql_fetch_object($sql)){
//print out table contents and add id into an array and email into an array
echo '<tr>
<td><input type="hidden" name="id[]" value='.$r->id.' readonly></td>
<td>'.$r->name.'</td>
<td><input name="email[]" type="text" id="price" value="'.$r->email.'"></td>
</tr>';
}
//submit button
echo'<tr>
<td colspan="3" align="center"><input type="submit" name="Submit" value="Submit"></td>
</tr>
</table>
</form>';
// if form has been submitted, process it
if($_POST["Submit"])
{
// get data from form
$name = $_POST['name'];
// loop through all array items
foreach($_POST['id'] as $value)
{
// minus value by 1 since arrays start at 0
$item = $value-1;
//update table
$sql1 = mysql_query("UPDATE table SET email='$email[$item]' WHERE id='$value'") or die(mysql_error());
}
// redirect user
$_SESSION['success'] = 'Updated';
header("location:index.php");
}
在此示例中,提交的值未进行清理,因为假设只有管理员才能访问这种强大的输入系统。
这很酷,实际上我之前就发现了你的网站,但今天我发现你这里有多少酷炫的东西。我最近做了一个项目,需要更新具有不同 ID 但名称值相同的行。
$ids = array(1, 2, 3, 4, 5, 6);
$name = 'Some name';
$sql = "UPDATE table SET name ='".$name."' WHERE id IN ('".implode(',', $ids)."')";
我认为出于某种原因,MySQL 被 Web 开发人员低估了,因为他们只使用了它的一小部分,这对于大多数应用程序来说是必不可少的,但它确实是一个强大的工具,特别是如果您学习如何管理触发器、视图和存储过程。
感谢您的提示,它们非常有帮助,尤其是 CSS 内容,您在这方面非常出色。
好技巧!
感谢本教程。这对设计我的网页非常有帮助……
$email[$item]…$email 在哪里?它返回了一个错误,提示未定义变量:email