Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: удаление записи
 
 автор: lilu   (28.08.2005 в 16:11)   письмо автору
 
 

Помогите решить такую проблему:
Пользователю надо поставить галочки напротив тех записей в таблице, кот. он считает нужным удалить после нажатия соответстующей кнопки!
Эти записи как и сама таблица берутся из таблицы в базе данных!
Вывести эти записи на экран не проблема, чего и куда надо добавить чтобы пользователь галочками отмечал ненужные записи!!! (это похоже на работу с таблицами в phpmyadmin)!!!

   
 
 автор: Евгений Петров   (28.08.2005 в 17:40)   письмо автору
 
   для: lilu   (28.08.2005 в 16:11)
 

Ну допустим у нас есть поле id. Выводим записи и рядом с каждой записью чекбокс
<input type="checkbox" name="chk[$num]">

где $num - это id записи в таблие
Затем пишешь скрипт, который будет удалять записи:
<?
  $chk 
$_POST['chk'];
  if(
$chk)
    foreach(
$chk as $num => $value)
      if(
$value == "on")
        
mysql_query("DELETE FROM tbl WHERE id = '$num'");
?>

   
 
 автор: cheops   (29.08.2005 в 01:08)   письмо автору
 
   для: lilu   (28.08.2005 в 16:11)
 

Посмотрите скрипт в середине темы http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=427

PS Вопросы, посвящённые базам данных, лучше сразу размещать в разделе MySQL http://www.softtime.ru/forum/index.php?id_forum=3

   
 
 автор: lilu   (29.08.2005 в 12:45)   письмо автору
 
   для: cheops   (29.08.2005 в 01:08)
 

У меня данные выводятся в виде таблицы, куда мне код для вывода checkbox (<input type="checkbox" name="chk[$num]"> )разместить:

echo "<tr><td>№</td><td>наименование</td><td>цена</td><td>кол-во</td></tr>";
while ($myrow=mysql_fetch_row($rez))
{
printf("<tr><td>%s</td><td>%s</td><td>%s</td><td>%s</td></tr>\n", $myrow[0], $myrow[1], $myrow[2],$myrow[3]);
}
echo "</table>\n";

   
 
 автор: Евгений Петров   (29.08.2005 в 12:50)   письмо автору
 
   для: lilu   (29.08.2005 в 12:45)
 

Куда угодно.

   
 
 автор: lilu   (29.08.2005 в 12:55)   письмо автору
 
   для: Евгений Петров   (29.08.2005 в 12:50)
 

Я пробовала вот так:
echo "<tr><td>№</td><td>наименование</td><td>цена</td><td>кол-во</td><td>checkbox</td></tr>";
while ($myrow=mysql_fetch_row($rez))
{
printf("<tr><td>%s</td><td>%s</td><td>%s</td><td>%s</td><td><input type="checkbox" name="chk[$num]"></td></tr>\n", $myrow[0], $myrow[1], $myrow[2],$myrow[3],$myrow[4]);
}
echo "</table>\n";
Но неудачно

   
 
 автор: Евгений Петров   (29.08.2005 в 13:14)   письмо автору
 
   для: lilu   (29.08.2005 в 12:55)
 

Попробуй так:
<?
echo "<tr><td>№</td><td>наименование</td><td>цена</td><td>кол-во</td><td>checkbox</td></tr>";
while (
$myrow=mysql_fetch_row($rez))
{
printf("<tr><td>%s</td><td>%s</td><td>%s</td><td>%s</td><td><input type=\"checkbox\" name=\"chk[%d]\"></td></tr>\n"$myrow[0], $myrow[1], $myrow[2],$myrow[3],$myrow[4],$myrow[0]);
}
echo 
"</table>\n";
?>

   
 
 автор: lilu   (29.08.2005 в 13:25)   письмо автору
 
   для: Евгений Петров   (29.08.2005 в 13:14)
 

всё получилось, спасибо, но
Если можно объясните мне такой синтаксис, просто раньше не сталкивалась с таким, особенно наличие \ и %d!
<input type=\"checkbox\" name=\"chk[%d]\">
и ещё
для того что ваш скрипт по удалению строк работал там передаётся переменная $num, кот. была указана в имени checkbox и заменена на %d а теперь что делать!
Возникло ещё больше вопросов чем раньше :))

   
 
 автор: Евгений Петров   (29.08.2005 в 17:47)   письмо автору
 
   для: lilu   (29.08.2005 в 13:25)
 

Обратные слеши я поставил перед кавычами, чтобы они экранировались, т.е. воспринимались интерпретатором как текст, а не как кавычки, а %d значит что это целое число, представляемое в десятичном виде. Тогда как %s - строка. Переменная $num - это id пользователя в базе данных он оттуда и берется $myrow[0]

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования