Обновлять только проверенные строки php mysql

Я пытаюсь обновить только проверенные строки в таблице, но ничего не происходит
Вот мой код

<?php
//database connect select
$result=mysql_query("Select * from ticket_reservation WHERE
validate_status='No'") 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 "<br>";
}
echo"<tr><td><input type='submit' name='submit' Value='Validate Tickets'>    </td></tr>";
if(isset($_POST['submit']))
{
if(is_array($_POST['name']))
{
$qry = "UPDATE ticket_reservation SET validate_status='Yes' WHERE id IN (".implode(',', $_POST['name']).")";
// echo $qry; // For checking the generated sql statement; can be removed
mysql_query($qry);
}
}

?>
</table>
</form>

0

Решение

$checkbox=$_POST['name'];
for($i=0;$i<count($checkbox);$i++)
{
$id = $checkbox[$i];

$sql1 = "UPDATE ticket_reservation set     validate_status='Yes' where id = '".$id."' ";
mysql_query($sql1);
}
1

Другие решения

Вы также получили опечатку здесь: is_array($POST['name']) должно быть is_array($_POST['name']),

1

Ты можешь использовать MySQL В функция для обновления всех наборов данных в одном запросе. Таким образом, вам не нужно перебирать все идентификаторы, используя foreach петля.

if(isset($_POST['submit']))
{
if(is_array($_POST['name']))
{
$qry = "UPDATE ticket_reservation SET validate_status='Yes' WHERE id IN (".implode(',', $_POST['name']).")";
echo $qry; // For checking the generated sql statement; can be removed
mysql_query($qry);
}
}

Чтобы предотвратить SQL-инъекцию, вы должны использовать подготовленные операторы (см. PDO)

Вы также должны добавить пробел между вашими атрибутами HTML: name='name[]' value= вместо name='name[]'value=,

0

if(isset($_POST['name']))
{
$Name=$_POST['name'];
foreach($Name as $N)
{

$qry="Update ticket_reservation SET validate-status='Yes' Where id='$N'";       echo $qry; // For checking the generated sql statement; can be removed
mysql_query($qry);



}

}
0
По вопросам рекламы [email protected]