На странице выводится записи из таблицы, каждой записи соответсвует чекбокс. Так же на форме есть кнопка удаления. При выборе определенных записей (нужные выделяются галками на чекбоксах) и нажатии кнопки удалить происходит удаление записей из таблицы. Скрипт, который я привел ниже работает, но при удалении возникает следующая запись: Notice: Undefined offset: здесь указано число записей в массиве (в зависимости от кол-ва выбранных записей) in T:\home\localhost\servers\delsrv.php on line (номер строки, он у меня соответсвует строке с while ($array[$i]) ) Помогите пожалуйста разобраться в чем проблема, а то вечер уже, а я никак врубиться не могу Код (Text): $sql = "select * from servers order by servers_id"; $result = @mysql_query($sql, $connection); echo "<table>"; while ($row = @mysql_fetch_array($result)) { $servers_id = $row['servers_id']; $host_name = substr($row['host_name'],0,30); echo "<tr> <td>$host_name</td> <td><input type='checkbox' name='servers[]' value='$servers_id'></td> </tr>"; } echo "<tr> <td class='text' colspan='2'><input type='submit' class='button' value='Удалить' name='delete'></td> </tr> </table>"; if(isset($_POST['servers'])&&isset($_POST['delete'])) { $array = $_POST['servers']; $i = 0; while ($array[$i]) { $sql = "DELETE FROM servers WHERE servers_id = '$array[$i]'"; $result = @mysql_query($sql, $connection); $i++; } }
Код (Text): $i = 0; while ($array[$i]) { $sql = "DELETE FROM servers WHERE servers_id = '$array[$i]'"; $result = @mysql_query($sql, $connection); $i++; } } меняем на PHP: <? $sql = "DELETE FROM servers WHERE servers_id in ('".implode("','",$array)."')"; @mysql_query($sql, $connection); И идем пить пиво, поминая меня добрым словом.