[英]Update multiple rows in a single query php mysql
我正在尝试使用以下脚本更新多行,但问题是它更改了所需列中的所有数据条目。 相反,我只希望更改选定的行。 这是我的代码:
<?php
$query = mysql_connect("localhost","root","toor");
mysql_select_db("busticket",$query);
$result=mysql_query("Select * from ticket_reservation WHERE validate_status='Yes'") or die(mysql_error());
while($row=mysql_fetch_array($result))
{
echo "<tr><td><input type='checkbox' id='name' name='name[]' value=".$row['id']."</td><td>".$row['userid']."</td><td>".$row['busid']."</td> <td>".$row['numberofseats']."</td></tr>";
}
echo"<tr><td><input type='submit' name='submit' Value='Validate Tickets'> </td></tr>";
if(isset($_POST['name']))
{
$Name=$_POST['name'];
foreach($Name as $N)
if(isset($_POST["submit"]) && $_POST["submit"]!="") {
$usersCount = count($_POST["name"]);
for($i=0;$i<$usersCount;$i++) {
mysql_query("UPDATE ticket_reservation set validate_status='Yes'");
}
?>
<?php
$query = mysql_connect("localhost","root","toor");
mysql_select_db("busticket",$query);
$result=mysql_query("Select * from ticket_reservation WHERE validate_status='Yes'") or die(mysql_error());
while($row=mysql_fetch_array($result))
{?>
<tr>
<td><input type='checkbox' id='name' name='name[]' value="<?echo $row['id'];?>"></td>
<td><?echo $row['userid'];?></td>
<td><?echo $row['busid'];?></td>
<td><?echo $row['numberofseats'];?></td>
</tr>
<?}?>
<tr><td><input type='submit' name='submit' Value='Validate Tickets'> </td></tr>
<?
if(isset($_POST["submit"])
{
$Name=$_POST['name'];
$usersCount = sizeof($Name);
for($i=0;$i<$usersCount;$i++)
{
$ID=$Name[$i];
mysql_query("UPDATE ticket_reservation set validate_status='Yes' WHERE id='$ID'");
}}?>
复选框必须具有特定的名称,以便您知道要在数据库中更新的内容。
<input type='checkbox' id='name' name='name[1]' value=".$row['id'].">
<input type='checkbox' id='name' name='name[2]' value=".$row['id'].">
另外,您在值后缺少“>”
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.