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

Форум MySQL

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

 

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

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

тема: удаление записей из таблицы
 
 автор: chip   (07.11.2004 в 05:16)
 
 

Строится таблица на основе данных из бызы
полседняя колонка с checkbox для пометки нужной записи
по таблицей кнопака удалить выбранные записи
ну в phpmyadmin есть такое :) (когда выбираешь обзор определенной таблицы)
Как такое реализуется.
Ну таблица получается с помощью цикла т.е. есть таблица то у каждого чекбокса получается же одиноковые имена ... и как привязать этот чекбокс к записи ?

   
 
 автор: glsv (Дизайнер)   (07.11.2004 в 10:06)   письмо автору
 
   для: chip   (07.11.2004 в 05:16)
 

> т.е. есть таблица то у каждого чекбокса получается же одиноковые имена ...
Пишите эти имена как массив item[], тогда

<input type="checkbox" name="item[]" value="1"> 11<br>

И тогда в скрипте обработчике Вы получите массив $item

   
 
 автор: cheops   (07.11.2004 в 10:57)   письмо автору
 
   для: chip   (07.11.2004 в 05:16)
 

Вы можете посмотреть пример такого скрипта по ссылкам
http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=427
http://www.softtime.ru/forum/read.php?id_forum=3&id_theme=483

   
 
 автор: chip   (08.11.2004 в 03:12)
 
   для: cheops   (07.11.2004 в 10:57)
 

Да все получилось пример очень наглядный и понятный но
чаще "таблицы" динамические и получаются циклом while

<?php
$spisok 
mysql_query("select * from table_name;");
if(
$spisok)
{
// определяем таблицу и заголовки
echo "<table >";
echo
"<tr><td>id</td><td>Удалить</td></tr> ";
// Так как запрос возращает несколько строк, применяем цикл
$spisok mysql_query("SELECT text
FROM   table_name"
);
while   (
$massiv mysql_fetch_array ($spisok) ) 

  echo
"<form action='delete.php' method='post'><tr><td>".$massiv['id']." </td><td><INPUT TYPE='checkbox' NAME='delstrok[]' value=".$massiv['id']."></td></tr> "

         echo 
'</table>
         <br>
         <INPUT TYPE="submit" VALUE="Удалить">
         <form>'
;

}
         else
         {
         echo 
"<p><b>Ошибка: ".mysql_error()."</b></p>" ;
         exit();
         }

?>

и вот код delete.php

<?php
include "config.php";
 
// Соединяемся с сервером базы данных
  
$dbcnx = @mysql_connect($dblocation,$dbuser,$dbpasswd);
// Выбираем базу данных
$db1 = @mysql_select_db($dbname,$dbcnx);
 
// Удалить сразу несколько записей можно при
 // помощи запроса "DELETE FROM base WHERE id IN (1,3,5,7)"
 // Получаем список отмеченных флажков
  
$delstrok $_POST['delstrok'];
  if(!empty(
$delstrok))
  {
    
// Начинаем формировать переменную, содержащую этот список
    // в формате "(3,5,6,7)"
    
$query "(";
    foreach(
$delstrok as $val$query .= "$val,";
    
// Удаляем последнюю запятую, заменяя её закрывающей скобкой )
    
$query substr($query0strlen($query) - 1).")";
    
// Завершаем формирование SQL-запроса на удаление
echo 'Cтроки';
echo 
$query ;
echo 
' Удалены';
    
$query "DELETE FROM table_name WHERE id IN ".$query;
    
// Выполняем запрос
    
if(!mysql_query($query))
    {
      echo 
mysql_error()."<br>";
      echo 
$query."<br>";
    }
  }
// возрат на предыдущую страницу где 
echo "<HTML><HEAD>
        <META HTTP-EQUIV='Refresh' CONTENT='2; URL=Index.php'>
        </HEAD></HTML>"
;
?>

   
Rambler's Top100
вверх

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