[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Не работает удаление по чекбоксу
Azizbek
Здравствуйте, такая проблема в скрипте отображаются данные из базы в виде таблицы, хотел сделать удаление по чекбоксу как на маил.ру но в чёмто есть ошибка а найти не могу бьюсь уже третий час, голова опухло, помогите советом или подсказкой.
вот скрипт:
<link href="images/div.css" rel="stylesheet" type="text/css">
<table width="80%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<th scope="col">

<?php
function yandex_link_bar($page, $count, $pages_count, $show_link)
{
// $show_link - это количество отображаемых ссылок;
// нагляднее будет, когда это число будет парное
// Если страница всего одна, то вообще ничего не выводим
if ($pages_count == 1) return false;
$sperator = ' '; // Разделитель ссылок; например, вставить "|" между ссылками
// Для придания ссылкам стиля
$style = 'style="color: #808000; text-decoration: none;"';
$begin = $page - intval($show_link / 2);
unset($show_dots); // На всякий случай smile.gif
// Сам постраничный вывод
// Если количество отображ. ссылок больше кол. страниц
if ($pages_count <= $show_link + 1) $show_dots = 'no';
// Вывод ссылки на первую страницу
if (($begin > 2) && ($pages_count - $show_link > 2)) {
echo '<a '.$style.' href='.$_server['php_self'].'?page=1> |< </a> ';
}
for ($j = 0; $j <= $show_link; $j++) // Основный цикл вывода ссылок
{
$i = $begin + $j; // Номер ссылки
// Если страница рядом с началом, то увеличить цикл для того,
// чтобы количество ссылок было постоянным
if ($i < 1) continue;
// Подобное находится в верхнем цикле
if (!isset($show_dots) && $begin > 1) {
echo ' <a '.$style.' href='.$_server['php_self'].'?page='.($i-1).'><b>...</b></a> ';
$show_dots = "no";
}
// Номер ссылки перевалил за возможное количество страниц
if ($i > $pages_count) break;
if ($i == $page) {
echo ' <a '.$style.' ><b>'.$i.'</b></a> ';
} else {
echo ' <a '.$style.' href='.$_server['php_self'].'?page='.$i.'>'.$i.'</a> ';
}
// Если номер ссылки не равен кол. страниц и это не последняя ссылка
if (($i != $pages_count) && ($j != $show_link)) echo $sperator;
// Вывод "..." в конце
if (($j == $show_link) && ($i < $pages_count)) {
echo ' <a '.$style.' href='.$_server['php_self'].'?page='.($i+1).'><b>...</b></a> ';
}
}
// Вывод ссылки на последнюю страницу
if ($begin + $show_link + 1 < $pages_count) {
echo ' <a '.$style.' href='.$_server['php_self'].'?page='.$pages_count.'> >| </a>';
}
return true;
} // Конец функции

// Подключение к базе данных
include('int/_connect.php');

// Подготовка к постраничному выводу
$perpage = 10; // Количество отображаемых данных из БД
if (empty($_GET['page']) || ($_GET['page'] <= 0)) {
$page = 1;
} else {
$page = (int) $_GET['page']; // Считывание текущей страницы
}
// Общее количество информации
$count = mysql_num_rows(mysql_query('select * from mail')) or die('error! Записей не найдено!');
$pages_count = ceil($count / $perpage); // Количество страниц
print' <div align=\'left\' class=\'div_backW\'><b>Общее количество записей:</b> '.$count. '</div>';


// Если номер страницы оказался больше количества страниц
if ($page > $pages_count) $page = $pages_count;
$start_pos = ($page - 1) * $perpage; // Начальная позиция, для запроса к БД
// Вызов функции, для вывода ссылок на экран
echo' <div align=\'left\' class=\'div_backG\'>Выбор страниц';
yandex_link_bar($page, $count, $pages_count, 10);
echo'</div>';
// Вывод информации из базы данных
echo '<p><b>Перечень отправителей.</b></p>';
print"<table width=\"100%\" align=\"center\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">
<tr>
<th scope=\"col\" class=\"div_backG\">Email</th>
<th scope=\"col\" class=\"div_backG\">Имя Фамилия</th>
<th scope=\"col\" class=\"div_backW\">Дата и время</th>
<th scope=\"col\" class=\"div_backG\"> <input type=submit value =\'Удалить\'></th>
</tr>";
$result = mysql_query('select * from mail limit '.$start_pos.', '.$perpage) or die('error!');
while ($row = mysql_fetch_array($result)) {
echo '<tr>';
echo'<td class=\'div_backIMG\'>';
echo'<div align=\'left\' class=\'div_padding\'> &middot; <a href="admv.php?id='.$row['id'].'">['.stripslashes($row['email']).']</a></div></td>';



echo'<td class=\'div_backIMG\'>';
echo' <div align=\'left\' class=\'div_padding\'> &middot; <a href="admv.php?id='.$row['id'].'">['.stripslashes($row['fio']).']</a></div></td>';
echo'<td class=\'div_backIMG\'>';
echo' <div align=\'left\' class=\'div_padding\'>'. $row['date'].'</div></td>';

echo '<td>';
print"<input type=\"checkbox\" name=\"id".$i."\">";
print"<input type=\"hidden\" name=\"num_checkbox\" value=\"".$num."\">";
echo'</td>';
$num = $_POST['num_checkbox'];
for ($i=0; $i<$num; $i++)
{
// смотрим очередной чекбокс
$checkbox = $_POST['id'.$i];
if ($checkbox == 'on')
{
// если чекбок отмечен, т.е. равен 'on', то выполняем запрос
//$res = mysql_query('delete from mail where id='$i);
echo $num;
if (!$res)
{
echo 'Не удалось удалить запись';
exit;
}
}
}





echo'</tr>';

}
echo'</table>';

?>
</th>
</tr>
</table>




Спустя 2 часа, 20 минут, 35 секунд (7.12.2008 - 00:05) kirik написал(а):
ТЫЦ пункт 2.3 ибо невозможно разобрать.

Ошыбко в том, что имя чекбокса должно быть таким - name="name[]" - тоесть массив.
Быстрый ответ:

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