[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Удаление нескольких новостей одновременно
Shkiper
Взял код Попова(с irbis-team.com уже переделанную) удаление новостей. Новости удаляються все нормально, но как мне сделать чтоб удалялись не одна а все которые я выделил т.к. удаляеться только одна (для удобствая изменил радио кнопки на чекбоксы)



Спустя 13 минут, 17 секунд (3.02.2012 - 09:23) dadli написал(а):
если поле id есть в таблице новостеи то

DELETE FROM news WHERE id IN (здес список ид-ов)

Спустя 2 часа, 11 минут, 33 секунды (3.02.2012 - 11:34) Shkiper написал(а):
Не выходит!!! Имя поля вывода новости называеться id так-вот я выделяю новости нажимаю удалить так вот опять удаляеться только 1 почему????

Спустя 2 минуты, 41 секунда (3.02.2012 - 11:37) m4a1fox написал(а):
Код в студия. А то мана, для чтения удаленного кода у меня закончилась.

Спустя 2 минуты, 42 секунды (3.02.2012 - 11:40) Shkiper написал(а):
Сама страница
<?php 
include './system/library/authentication/lock.php';
include './system/data/db.php';
include './system/data/config.php';
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<
html>
<
head>
<
meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<
title>Страница удаления заметки</title>
<
link href="<?php echo $config[base_url]; ?>system/inc/style.css" rel="stylesheet" type="text/css">
<
link rel="stylesheet" type="text/css" href="<?php echo $config[base_url]; ?>system/skins/css/menu.css" />
<
script type="text/javascript" src="<?php echo $config[base_url]; ?>system/skins/js/menu.js">
/***********************************************
* Slashdot Menu script- By DimX
* Submitted to Dynamic Drive DHTML code library:
http://www.dynamicdrive.com
* Visit Dynamic Drive at http://www.dynamicdrive.com/ for full source code
***********************************************/

</script>
<
script type="text/javascript">
// <![CDATA[
var myMenu;
window.onload = function() {
myMenu = new SDMenu("my_menu");
myMenu.init();
};
// ]]>
</script>



</
head>
<
body>
<
table width="690" border="0" align="center" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF" class="main_border">
<!--
Подключаем шапку сайта-->
<? include'./system/inc/blocks/header.inc.php'; ?>
<tr>
<
td><table width="690" border="0" cellspacing="0" cellpadding="0">
<
tr>
<!--
Подключаем левый блок сайта-->
<? include 'system/inc/blocks/lefttd.php'; ?>
<td valign="top">
<?php
$result = mysql_query("SELECT title,id FROM data");
if (mysql_num_rows($result) == 0)
{
exit("<p>У вас нет ни одной новости! Вам нечего удалять. Добавте на свой сайт новостей</p>");
}


?>
<p><strong>Выберите заметку для удаления</strong></p>
<
form action="?mod=drop_post" method="post">
<?php

$result = mysql_query("SELECT title,id FROM data");
$myrow = mysql_fetch_assoc($result);

do
{
printf ("<p><input name='id' type='checkbox' value='%s'>%s</label></p>",$myrow["id"],$myrow["title"]);
}

while ($myrow = mysql_fetch_assoc($result));
?>

<p> <input name="submit" type="submit" value="Удалить Новость"></p>

</
form>


</
td>
</
tr>
</
table></td>
</
tr>
<!--
Подключаем нижний графический элемент-->
<? include './system/inc/blocks/footer.inc.php'; ?>
</table>
</
body>
</
html>

Обработчик
<?php 
include './system/data/db.php';
include './system/data/config.php';
if (isset($_POST['id'])) {$id = $_POST['id'];}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<
html>
<
head>
<
meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<
title>Обработчик</title>
<
link href="<?php echo $config['base_url']; ?>system/skins/css/style.css" rel="stylesheet" type="text/css">
<
link href="<?php echo $config['base_url']; ?>system/skins/css/admin_settings.css" rel="stylesheet" type="text/css">
<
link rel="stylesheet" type="text/css" href="<?php echo $config[base_url]; ?>system/skins/css/menu.css" />
<
script type="text/javascript" src="<?php echo $config[base_url]; ?>system/skins/js/menu.js"></script>
<
script type="text/javascript">
// <![CDATA[
var myMenu;
window.onload = function() {
myMenu = new SDMenu("my_menu");
myMenu.init();
};
// ]]>
</script>



</
head>
<
body>
<
table width="690" border="0" align="center" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF" class="main_border">
<!--
Подключаем шапку сайта-->
<? include'./system/inc/blocks/header.inc.php'; ?>
<tr>
<
td><table width="690" border="0" cellspacing="0" cellpadding="0">
<
tr>
<!--
Подключаем левый блок сайта-->
<? include './system/inc/blocks/lefttd.php'; ?>
<td valign="top">

<?php
if (isset($id))
{
$result = mysql_query ("DELETE FROM `data` WHERE `id` IN ($id)") or die(mysql_error());

if ($result == 'true') {echo "<p>Ваша заметка успешно удалена!</p><p><a href='/admin.php/?mod=del_post'>Назад</a></p>";}
else {echo "<p>Ваша заметка не удалена!</p>";}


}

else

{
echo "<p>Вы запустили данный фаил без параметра id и поэтому, удалить заметку невозможно (скорее всего Вы не выбрали радиокнопку на предыдущем шаге).</p>";
}



?>


</td>
</
tr>
</
table></td>
</
tr>
<!--
Подключаем нижний графический элемент-->
<? include './system/inc/blocks/footer.inc.php'; ?>
</table>
</
body>
</
html>

Спустя 32 минуты, 29 секунд (3.02.2012 - 12:12) alexbel2404 написал(а):
printf ("<p><input name='id' type='checkbox' value='%s'>%s</label></p>",$myrow["id"],$myrow["title"]);

поменяй на

printf ("<p><input name[]='id' type='checkbox' value='%s'>%s</label></p>",$myrow["id"],$myrow["title"]);

в обработчик придет массив name, по нему проходи циклом и удаляй записи

плюс почитай тему "Реабилитация после курсов Попова"

Спустя 8 минут, 31 секунда (3.02.2012 - 12:21) Shkiper написал(а):
Неработает запросик то!!!!

Спустя 1 минута, 44 секунды (3.02.2012 - 12:22) m4a1fox написал(а):
alexbel2404
Цитата
printf ("<p><input name='id' type='checkbox' value='%s'>%s</label></p>",$myrow["id"],$myrow["title"]);

поменяй на

printf ("<p><input name[]='id' type='checkbox' value='%s'>%s</label></p>",$myrow["id"],$myrow["title"]);

А где ты это увидел? Я чет не вижу такого..... уже совсем я слеп стал. blink.gif

Спустя 30 минут, 21 секунда (3.02.2012 - 12:53) Shkiper написал(а):
А что можно сделать чтоб эта конструкция заработала???

Спустя 5 минут, 51 секунда (3.02.2012 - 12:59) inpost написал(а):
name="id[]" ...и на выходе массив.

Спустя 1 минута, 5 секунд (3.02.2012 - 13:00) m4a1fox написал(а):
В обработчике пропиши var_dump($_POST)....
после отметь чекбоксы и нажимай
<p> <input name="submit" type="submit" value="Удалить Новость"></p>

Спустя 4 минуты, 5 секунд (3.02.2012 - 13:04) Shkiper написал(а):
а в каком месте прописать???

Спустя 28 секунд (3.02.2012 - 13:04) alexbel2404 написал(а):
Цитата (inpost @ 3.02.2012 - 13:59)
name="id[]" ...и на выходе массив.

перепутал ))))

Спустя 9 минут, 11 секунд (3.02.2012 - 13:13) Shkiper написал(а):
inpost я не понял покажи пожалуйста на примере!!!! m4a1fox твое тоже не понял вставил код а удяляет опять только 1 новость(задолбался добавлять новости а потом удалять)

Спустя 8 минут, 2 секунды (3.02.2012 - 13:22) m4a1fox написал(а):
Deert
Надоело..... Что делает var_dump()?

Спустя 3 минуты, 47 секунд (3.02.2012 - 13:25) alexbel2404 написал(а):
я выше чуть не правильно написал
сделай так

printf ("<p><input name='id' type='checkbox' value='%s'>%s</label></p>",$myrow["id"],$myrow["title"]);


поменяй на

printf ("<p><input name='id[]' type='checkbox' value='%s'>%s</label></p>",$myrow["id"],$myrow["title"]);


в обработчике
var_dump($_POST);


И увидишь все отмеченные айдишники.

Спустя 2 минуты (3.02.2012 - 13:27) inpost написал(а):
У тебя есть массив $_POST['id'], его надо склеить функцией implode. Чтобы получилась переменная, которую подставишь в запрос.
В запросе надо `id` IN (1,2,3,4,51) - ID через запятую перечисляется, соответственно посмотри на функцию implode.

Спустя 5 минут (3.02.2012 - 13:32) m4a1fox написал(а):
alexbel2404
Цитата
в обработчике

var_dump($_POST);

Наша песня хороша, начинай с начала... smile.gif

Спустя 37 минут, 8 секунд (3.02.2012 - 14:09) Shkiper написал(а):
inpost спасибо помогло!!!
Быстрый ответ:

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