Ошибка при проверке условия!!

error

Guest
Ошибка при проверке условия!!

вот пожалуйчта зацените код:

<form name="form1" method="post" action="del_news_out_db.php">
<? $i=0;
while($row=mysql_fetch_array($result)) {echo$id[$i]=$row['id']."\n".$row['title']."\n";echo $row['news']."<p>"."<p>"."----------------------------------------------------"."<br>".$row['date'].;echo '<input type="checkbox" name="checkbox[$i]" value="checkbox">';$i++;} ?>
<input type="submit" name="Submit" value="del">
я здесь ещё создал переменную, которая принимает значения id "($id[$i])".Всё это передаёт значения на дргой скрипт который должен удалять поля,у которых выставлены чекбоксы!!
....
for ($i=0;$i<40;$i++){
if ($checkbox[$i] checked) {mysql_query("delete from news where id=$id[$i]",$link);}
?>

и всё потом ошибка!! я думаю я как то не проавильно описываю условие, тоесть проверку на то стоит ли чек или нет!! помоите плз...!!!
 

SelenIT

IT-лунатик :)
1) Где тут проверяемое условие?
2) Цикл в принимающем скрипте по большому счету не нужен, достаточно одного запроса;
3) print_r($_POST['checkbox']);
4) Зачем такой запутанный вывод? Вполне достаточно просто вынести переменные...
5) выделение цветом при постинге - вещь ИМХО вредная. А вот [php]...[/php] при оформлении кода - наоборот, полезная :)
 

error

Guest
тоесть он удалит все значения которые будут с флажком и без цикла??
с выводом та всё нормально... он при удалении оштбку кричит! я думал мош где if ($checkbox[$i] checked)здесь ошибка!!!
 

SelenIT

IT-лунатик :)
Естественно, там ошибка - для PHP это бессмыслица, а никакое не условие. Условием было бы, например, $checkbox[$i] == 'checked'. Но для удаления отмеченных записей это условие, равно как и цикл, действительно не нужны.
 

error

Guest
а чё тогда надо тут применить???? если мне нужно удалить отмеченные поля??
 

SelenIT

IT-лунатик :)
Прежде всего, посмотри. что приходит в твой скрипт из формы (как это сделать - см. выше, п.3).

А затем сформировать из полученных данных запрос вида
PHP:
"delete from news where id IN ($id1,$id2,...,$idn)"
или
PHP:
"delete from news where id=$id1 OR id=$id2 OR .... OR id=$idn"
Для этого пригодится функция [m]implode[/m]. Разумеется, вместо $id1,$id2,...,$idn будут твои значения из формы.
 
Сверху