[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Удаление строк таблицы
bvv
Привет всем, помогите реализовать следующую возможность - имеется html-таблица, содержимое которой формируется средствами php из БД MySQL:

<?php
//сделали выборку из БД
$sql = mysqlQuery("SELECT `id`,`data`,`text` FROM `test` ORDER BY `id`");

//сформировали первую строку таблицы
$table = '<tr align="center"><td>ID</td><td>DATA</td><td>TEXT</td></tr>';

//cформиоровали содержимое таблицы
while ($col = mysql_fetch_assoc($sql))
{
$table = $hashtable .'<tr align="center"><td>'.htmlspecialchars($col['$id']).'</td><td>'.htmlspecialchars($col['data']).'</td><td>'.htmlspecialchars($col['text']).'</td></tr>';
}

//подключаем шаблон страницы
$tpl = '/skins/tpl/page.tpl';
if (file_exists($tpl))
include $tpl;
else
exit('The template <b>'. $tpl .'</b> is absent in the specification');
?>
-------------
шаблон страницы page.tpl:
<table cellspacing="0" cellpadding="4">
<?php
echo $table; ?>
</table>



Необходимо реализовать возможность удаления ненужных строк таблицы, путём их выбора через чекбоксы и последующего нажатия кнопки "Удалить". Иными словами - нужно чтобы рядом с каждой строкой таблицы был чекбокс, а внизу таблицы три кнопки - "Отметить все", "Снять выделение", "Удалить". Соответственно выбираем ненужные строки, нажимаем кнопку "Удалить" - строки удаляются из БД и страница заново генерируется с новым содержимым таблицы. Пример реализации - phpMyAdmin.



Спустя 18 часов, 27 минут, 3 секунды (27.06.2010 - 09:13) vagrand написал(а):
Что конкретно тебе не ясно как сделать? Клиентскую часть задачи или серверную?

Спустя 6 часов, 25 минут, 18 секунд (27.06.2010 - 15:39) Guest написал(а):
Меня интересует, каким образом нужно изменить приведённый код (либо уже есть готовый пример, который я не нашёл), чтобы реализовать возможность удаления строк таблицы путём их выбора через чекбоксы и последующего нажатия кнопки "Удалить".

Спустя 4 часа, 1 минута, 18 секунд (27.06.2010 - 19:40) vagrand написал(а):
Ну так ты сам привел в качестве примера phpmyadmin вот и разберись как там это сделано

Спустя 1 час, 37 минут, 17 секунд (27.06.2010 - 21:17) Winston написал(а):
Так ?
while ($col = mysql_fetch_assoc($sql))
{
$table = $hashtable ."<input type='checkbox' name='box[]' value=". (int)$col['id'] ."><tr align='center'><td>".htmlspecialchars($col['$id'])."
</td><td>"
.htmlspecialchars($col['data'])."
</td><td>"
.htmlspecialchars($col['text'])."</td></tr>";
}
echo '<input type="submit" name="go" value="Удалить">'

if ($_POST['go'])
{
foreach($box AS $k)
{
mysqlQuery("DELETE FROM `test` WHERE `id`=". (int)$k);
}

}

Спустя 2 года, 1 месяц, 3 дня, 13 часов, 36 минут, 55 секунд (31.07.2012 - 10:54) Вячеслав написал(а):
Помогите пожалуйста. Как удалить строки в текстовом фале методом chekbox. Спасибо.

Спустя 1 час, 17 минут, 8 секунд (31.07.2012 - 12:11) DarkLynx написал(а):
Цитата (Winston @ 27.06.2010 - 19:17)
Так ?
while ($col = [SPAN=darling]my[SPAN=darling]sql[/SPAN][/SPAN]_fetch_assoc($[SPAN=darling]sql[/SPAN]))
{
$table = $hashtable ."<input type='checkbox' name='box[]' value=". (int)$col['id'] ."><tr align='center'><td>".htmlspecialchars($col['$id'])."
</td><td>"
.htmlspecialchars($col['data'])."
</td><td>"
.htmlspecialchars($col['text'])."</td></tr>";
}
echo '<input type="submit" name="go" value="Удалить">'

if ($_POST['go'])
{
foreach($box AS $k)
{
my[SPAN=darling]sqlQuery[/SPAN]("DELETE FROM `test` WHERE `id`=". (int)$k);
}

}


if ($_POST['go'])
{
$strBox = implode(',', $box)
mysqlQuery("DELETE FROM `test` WHERE `id` IN ('".$strBox."')");

}


Так лучше не ? Зачем запросы в цикле?

Спустя 1 минута, 47 секунд (31.07.2012 - 12:13) Игорь_Vasinsky написал(а):
Вячеслав
Цитата
Помогите пожалуйста. Как удалить строки в текстовом фале методом chekbox. Спасибо.


покажи форму.
Быстрый ответ:

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