Я пытаюсь обновить некоторые записи с помощью переключателей. Я хочу, чтобы обновлялась только выбранная запись, но она продолжает обновлять записи от начала до конца. Может кто-нибудь сказать, что это я скучаю
<?php
$query = mysql_connect("localhost","root","toor");
mysql_select_db("busticket",$query);
$result=mysql_query("Select * from ticket_reservation") or die(mysql_error());
while($row=mysql_fetch_array($result))
{
echo "<tr><td><input type='radio' name='name[]' value='".$row['id']."'</td><td> '".$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'> </td></tr>";
?>
<?php
$name=$_POST['name'];
$qry="UPDATE ticket_reservation set validate_status='Yes'";
mysql_query($qry);
?>
Было несколько проблем с приведенным выше кодом, основной из которых было то, что не было where
пункт, указанный в вашем update
заявление — таким образом, все записи обновляются при отправке формы. radio
Кнопка не была закрыта правильно, что вызвало бы проблемы с потоком HTML. update
предложение требует переменной POSTed name
тем не менее, ничто не мешало серверу пытаться выполнить инструкцию в обычном GET-запросе — следовательно, заключенный в IF
заявление.
/* Create db connection */
$query = mysql_connect( "localhost", "root", "toor" );
mysql_select_db( "busticket", $query );
/* Update records */
if( $_SERVER['REQUEST_METHOD']=='POST' ){
$name=$_POST['name'];
/* Because the field `name` is called `name[]` - array - you need to specify the item in the array, should be the first one ie: index 0 */
$qry="UPDATE `ticket_reservation` set `validate_status`='Yes' where `id`='".$name[0]."';";
mysql_query( $qry );
}
/* Display records */
$result=mysql_query("Select * from `ticket_reservation`") or die( 'Error: There was a problem with the query' );
echo "<table>";
while( $row=mysql_fetch_array( $result ) ) {
echo "<tr>
<td><input type='radio' name='name[]' value='".$row['id']."'></td>
<td>".$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'></td></tr>";
echo "</table>";
Других решений пока нет …