Trust
Продвинутый
Дата регистрации:
03.11.2011 17:04:04
Сообщений: 67
Михаил Привет! Возник такой вопрос, как удалить из базы сразу несколько записей цикл такой...
<?php
include ("bd.php"
![](/images/smiles/sm3.png)
;
$resultat = mysql_query("SELECT * FROM messages"
![](/images/smiles/sm3.png)
;
$count = mysql_num_rows($resultat);
if ($count>0){
while($array = mysql_fetch_array($resultat)){
$str = <<<TXT
<table border="1">
<form action="action.php" method="get">
<td><td> <label>
<input type="checkbox" name="id" value="$array[id]"/>$array[id]<br><br><br> $array[text]</label><br/>
<input type="submit" value="Удалить" onclick="javascript:if (forma.cbx.checked==true)forma.button();">
</td></tr>
</form>
</table>
TXT;
echo $str;
}
}else{
echo "
<center>
<br>
<br>
Записи отсутствуют.";
}
?>
Я понимаю что тут и action нужно делать в цикле?
Admin
Администратор
Дата регистрации:
27.05.2010 21:23:42
Сообщений: 3063
Вы можете получить массив с id записей, которые нужно удалить? Когда будет этот массив со всеми id, просто в цикле выполняет запрос DELETE. Можно также ускорить этот процесс, чтобы был 1 запрос. Для этого сформируйте DELETE, но с условием: id='1' OR id='5' OR id='7' и так далее.
Trust
Продвинутый
Дата регистрации:
03.11.2011 17:04:04
Сообщений: 67
Я получу все id с помощью цикла, если я вывожу в этом цикле $array[id] то мне покажет все id этой таблицы... я пытался сделать уже сам запрос на удаление записей в цикле но не увенчалось успехом=(
Admin
Администратор
Дата регистрации:
27.05.2010 21:23:42
Сообщений: 3063
id этой таблицы
У таблиц нет id.
Trust
Продвинутый
Дата регистрации:
03.11.2011 17:04:04
Сообщений: 67
Выразился не правильно, id всех записей в таблице messages
Admin
Администратор
Дата регистрации:
27.05.2010 21:23:42
Сообщений: 3063
Давайте по порядку, Вы получили из формы готовый массив такого вида?
$array[0] = 5;
$array[1] = 7;
$array[2] = 8;
...
Значение каждого элемента - это id записи, которую требуется удалить.
Trust
Продвинутый
Дата регистрации:
03.11.2011 17:04:04
Сообщений: 67
Нет у меня массив в цикле, то есть я пишу внутри цикла $array[id] и мне выдает все id каждой из строк этой таблицы, а вот их пытаюсь передать в action , не получается=( Получается передать самую последнюю=(
Admin
Администратор
Дата регистрации:
27.05.2010 21:23:42
Сообщений: 3063
Зачем их в action передавать?
Нужно создать обычную форму с чекбоксами, пользователь отмечает, какие нужно удалить. Далее скрипт принимает все эти чекбоксы, записывает в массив, и согласно этим данным удаляет соответствующие записи. Всё.
Trust
Продвинутый
Дата регистрации:
03.11.2011 17:04:04
Сообщений: 67
То есть в данном случае у меня сам запрос на удаление должен быть в том же файле где и форма?
Admin
Администратор
Дата регистрации:
27.05.2010 21:23:42
Сообщений: 3063
Необязательно, можно в этом же, можно в отдельном.