[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Удаление строк
vedbmak
Здавствуйте! Помогите пожалуйста. Есть форма:


echo "<form name='test' action=del.php >";
$res=mysql_query("select c.groupe,c.album,c.quantity,c.price from catalog c where label='$label'",$bd);
while($row=mysql_fetch_array($res,MYSQL_ASSOC))
{
echo " <input type=checkbox name=ch[$p] value='$row[groupe] - $row[album]'>$row[groupe] - $row[album]<Br>";
$p=$p+1;
}
echo "<input type=submit value='Удалить'>";
echo "</form>";

Как организовать del.php, удаление из таблицы строк, отмеченных в input. $_GET['ch'] - дает массив, с пустыми строками - не отмеченными чекбоксами. Спасибо.



Спустя 12 минут, 16 секунд (6.06.2010 - 16:47) Basili4 написал(а):
если в $_GET['ch'] хранятся индекс строки для удаления то можно

сделать так

'..... WHERE
table1.Id IN ('.implode(',',$_GET['ch']).')';

Спустя 9 минут, 48 секунд (6.06.2010 - 16:57) dr_Lev написал(а):
$sql = "DELETE FROM `catalog` WHERE CONCAT(`groupe`,' - ',`album`) IN ('".implode("','",$_GET['ch'])."')";

Спустя 5 минут, 52 секунды (6.06.2010 - 17:03) vedbmak написал(а):
оу, спасибо что так быстро, я тут человек новый. Попробую. И еще...в продолжение...

catalog.php
...начинается цикл и в нем...

echo " <input type=checkbox name=ch[$p] value='$row[groupe]'>$row[groupe] - $row[album]<Br>";
echo "<input type=hidden name=album[$p] value='$row[album]'>";
echo "<input type=hidden name=firma[$p] value='$label'>";

а это действие формы....
trash.php

$p=$_SESSION['p'];
for($i=1; $i<$p; $i++)
{
$b[$i] = $_GET['ch'][$i];
$c[$i] = $_GET['album'][$i];
$d[$i] = $_GET['firma'][$i];
echo $b[$i]." - ".$c[$i]." - ".$d[$i]."<br>";
}

выводит Группа - Альбом - Фирма , но опять же, все хорошо когда высе чекбоксы заполнены, но если есть пустой, то он выводит " - Альбом - Фирма", как убрать эти пустые строки - незаполненые чекбоксы.?


 ! 

М
Используй тэги подсветки кода.
Bezdna

Спустя 6 минут, 56 секунд (6.06.2010 - 17:10) Basili4 написал(а):
if (empty($_GET['album'][$i])) continue;

Спустя 2 минуты, 14 секунд (6.06.2010 - 17:12) vedbmak написал(а):
Basili4 спасибо!! только вот так - if (empty($_GET['ch'][$i])) continue;

Спустя 2 минуты, 48 секунд (6.06.2010 - 17:15) Basili4 написал(а):
Ну не то скопипастил smile.gif всегда говорил что копипаст ЗЛО вот еще одно доказательчтво этого wink.gif

Спустя 18 минут, 18 секунд (6.06.2010 - 17:33) vedbmak написал(а):
И как еще строку groupe - album разбить на куски? чтоб в бд запихать? по полям группа и альбом

Спустя 10 минут, 11 секунд (6.06.2010 - 17:43) Basili4 написал(а):

$str="groupe - album";
$arr=explode('-',$str);
echo($arr[0]); //groupe
echo($arr[1]); //album

Спустя 23 минуты, 44 секунды (6.06.2010 - 18:07) vedbmak написал(а):
все, вопросы решены, спасибо огромное!

Спустя 2 часа, 52 минуты, 22 секунды (6.06.2010 - 20:59) vedbmak написал(а):
ммм как преобразовать массив в int? есть код
$r=mysql_query("SELECT id FROM `catalog` WHERE album='".$c[$i]."' AND groupe='".$b[$i]."'");
while($row=mysql_fetch_array($r,MYSQL_ASSOC))
{ mysql_query("INSERT INTO `deal` (deal_album_id) VALUES ('".$row['id']."')");}


но тип поля deal_album_id - INT, видимо поэтому не работает....

Спустя 16 часов, 31 минута, 37 секунд (7.06.2010 - 13:31) Basili4 написал(а):
intval($row['id'])
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.