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

Форум MySQL

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

 

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

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

тема: Удаление с базы данных с выбором checkbox
 
 автор: _Geroi_   (26.12.2011 в 11:05)   письмо автору
 
 

Здравствуйте!
Нужна Ваша помощь.
Суть в следующем у меня есть форма комментариями с «checkbox» для выбора удаления комментариев.
Вот она.

<?php require_once('../../../Connections/vizitka.php'); ?>
<?php require_once ("../conect.php");?>
<?php
$maxRows_koment = 10;
$pageNum_koment = 0;
if (isset($_GET['pageNum_koment'])) {
$pageNum_koment = $_GET['pageNum_koment'];
}
$startRow_koment = $pageNum_koment * $maxRows_koment;

$colname_koment = "-1";
if (isset($_GET['kontakt'])) {
$colname_koment = (get_magic_quotes_gpc()) ? $_GET['kontakt'] : addslashes($_GET['kontakt']);
}
mysql_select_db($database_vizitka, $vizitka);
$query_koment = sprintf("SELECT id, komentarij FROM komentarij_teme WHERE kontakt = '%s'", $colname_koment);
$query_limit_koment = sprintf("%s LIMIT %d, %d", $query_koment, $startRow_koment, $maxRows_koment);
$koment = mysql_query($query_limit_koment, $vizitka) or die(mysql_error());
$row_koment = mysql_fetch_assoc($koment);

if (isset($_GET['totalRows_koment'])) {
$totalRows_koment = $_GET['totalRows_koment'];
} else {
$all_koment = mysql_query($query_koment);
$totalRows_koment = mysql_num_rows($all_koment);
}
$totalPages_koment = ceil($totalRows_koment/$maxRows_koment)-1;
?>

<form name="koment-actions" method="post" action="sistem/admin_del_coment_pro.php<?php echo'?kontakt='.$x; ?>">
<table width="420" height="86" border="0" cellpadding="0" cellspacing="0">

<?php
//////////НАЧАЛО ЦИКЛА
do { ?>
<tr>
<td width="25" height="35"><label>
<input name="msgs[]" type="checkbox" title="Выделить этот комментарий" value="<?php echo $row_koment['id']; ?>" />
</label></td>
<td width="395">

<?php
// ВЫВОД КОММЕНТАРИЯ
echo $row_koment['komentarij']; ?></td>
</tr>
<?php
//////////КОНЕЦ ЦИКЛА
} while ($row_koment = mysql_fetch_assoc($koment)); ?>

<tr>
<td colspan="2"><label>
<input type="submit" name="Submit" value="Удалить" />
</label></td>
</tr>
</table>

</form>
<?php
mysql_free_result($koment);
?>

А вот файл обработчик не получается сделать до конца.
Где можно об это почитать? И как можно его сделать? :)

  Ответить  
 
 автор: cheops   (26.12.2011 в 12:43)   письмо автору
 
   для: _Geroi_   (26.12.2011 в 11:05)
 

Собственно дел на три минуты (читать фолианты не придется :), вам нужен массив $_POST['msgs'] = он состоит из выбранных элементов, допустим 1, 2, 3. Вам нужно сформировать и выполнить запрос вида
DELETE FROM tbl WHERE id IN (1, 2, 3)
Проще всего для этого воспользоваться оператором implode().
<?php
  
if(!empty($_POST['msgs']))
  {
    
$query "DELETE FROM tbl WHERE id IN (".implode(", "$_POST['msgs']).")";
    
// Далее обработка запроса
  
}
?>

  Ответить  
 
 автор: kosta_in_net   (26.12.2011 в 16:35)   письмо автору
 
   для: cheops   (26.12.2011 в 12:43)
 

или
$query = "DELETE FROM tbl WHERE FIND_IN_SET(id,'".implode(", ", $_POST['msgs'])."')";

  Ответить  
 
 автор: _Geroi_   (26.12.2011 в 19:16)   письмо автору
 
   для: kosta_in_net   (26.12.2011 в 16:35)
 

Спасибо большее!
Разобрался , все заработало :)

  Ответить  
Rambler's Top100
вверх

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