|
|
|
| посмотрите пожалуста с чем проблема, как правильно сделать чтоб можно было удалять сразу несколько строк
в цикле
<input name='type[]' type='checkbox' value='1'>
оброботка
if (isset($_POST['del']))
{
$type=$_POST['type'];
$query="(";
foreach($type as $val)$query.="$val,";
$query=substr($query,0, strlen($query)-1).")";
$query="DELETE from Diski where id in .$query";
if (!mysql_query($query))
{
echo " Ошибка<br>";
echo $query."<br>";
}
} или где посмотреть пример | |
|
|
|
|
|
|
|
для: elenaM
(22.06.2007 в 14:18)
| | Сообщения об ошибках какие-нибудь выводятся? Здесь удобнее воспользоваться функцией implode
<?php
if (isset($_POST['del']))
{
$query="DELETE from Diski where id in (" .implode(",",$_POST['type']) .")";
if (!mysql_query($query))
{
echo " Ошибка<br>";
echo $query."<br>";
}
}
?>
|
| |
|
|
|
|
|
|
|
для: cheops
(22.06.2007 в 15:00)
| | Нет никаких сообщений об ошибках нет, пустой экран
Может с формой что то не так
while($row=mysql_fetch_array($result))
{
echo "<tr><td width='10'><input name='type[]' type='checkbox' value='1'> </td><td>",
$row['Name'],"</td>
<td>", $row['CID_Name'], "</td>
<td>", $row['Price'],"</td>
</tr>";
}
echo"</table>";
echo"<input type='submit' value= 'Удалить' name='del'></form>\n"; | |
|
|
|
|
|
|
|
для: elenaM
(22.06.2007 в 15:05)
| | Notice: Undefined index: type in z:\home\localhost\www\magazin\del.php on line 8
Warning: implode(): Bad arguments. in z:\home\localhost\www\magazin\del.php on line 8
Ошибка
DELETE from Diski where id in ()
если не отметить ничего , то выдает | |
|
|
|
|
|
|
|
для: elenaM
(22.06.2007 в 15:05)
| | Собственно, тут и нет формы...Где открытие тега "<form>"? | |
|
|
|
|
|
|
|
для: Unkind
(22.06.2007 в 15:11)
| | $result=mysql_db_query("magazin","select*from Diski");
echo "<html><head></head> <body><div style ='margin-left:.2in'>
<h3>Какой товар вас интересует</h3>\n";
echo"<form method='post' action='del.php'>\n";
echo "<Table border='1' width='100%'>";
echo "<tr>";
echo "<TH>Выбор</TH><TH>Наименование</TH><TH>Категория</TH><TH>Цена</TH> ";
echo "</tr>";
while($row=mysql_fetch_array($result))
{
echo "<tr><td width='10'><input name='type[]' type='checkbox' value='1'> </td><td>",
$row['Name'],"</td>
<td>", $row['CID_Name'], "</td>
<td>", $row['Price'],"</td>
</tr>";
}
echo"</table>";
echo"<input type='submit' value= 'Удалить' name='del'></form>\n";
?> | |
|
|
|
|
|
|
|
для: elenaM
(22.06.2007 в 15:12)
| | echo "<tr><td width='10'><input name='type[]' type='checkbox' value='1'> </td><td>",
А почему value='1'? По идее должно быть что-то вроде
<input name='type[]' type='checkbox' value='" . $row["id"] . "' />
|
Notice: Undefined index: type in z:\home\localhost\www\magazin\del.php on line 8
Вы хотя бы один чекбокс отметили? | |
|
|
|
|
|
|
|
для: Unkind
(22.06.2007 в 15:25)
| | Нет не отметила не один,
пример из книги
echo "<tr><td width='10'><input name='type[]' type='checkbox' value='1'> </td><td>",
не могу найти как правильно написать, я не знаю принципов checkbox', | |
|
|
|
|
|
|
|
для: elenaM
(22.06.2007 в 15:31)
| |
<?php
$_POST['type'] = isset($_POST['type']) ? (array) $_POST['type'] : array();
$_POST['type'] = array_map("intval", $_POST['type']);
if(isset($_POST['del']) && !empty($_POST['type']))
{
$query="DELETE FROM `Diski` WHERE `id` IN (" .implode(",", $_POST['type']) .")";
if(!mysql_query($query))
{
echo(
"Ошибка<br />\r\n" .
$query . "<br />\r\n"
);
}
}
?>
|
| |
|
|
|
|
|
|
|
для: elenaM
(22.06.2007 в 14:18)
| | Попробуй так:
if (isset($_POST['del']))
{
$type=$_POST['type'];
$query="(";
foreach($type as $val)$query.=$val.",";
$query=substr($query,0, strlen($query)-1).")";
$query="DELETE from Diski where id in ".$query;
if (!mysql_query($query))
{
echo " Ошибка<br>";
echo $query."<br>";
}
}
|
| |
|
|
|
|
|
|
|
для: GAV
(22.06.2007 в 15:40)
| | Всем огормнейшее спасибо заработало! | |
|
|
|