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

Форум MySQL

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

 

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

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

тема: Удаление нескольких статей из базы с подтверждением
 
 автор: serjinio   (05.05.2008 в 12:08)   письмо автору
 
 


<?php
include ("blocks/bd.php");
if (isset(
$_GET['id'])) {$id $_GET['id'];}

if (!isset(
$id))
{
$result mysql_query("SELECT categories.title as title1,  data.id as id1,  data. title as title2  FROM categories LEFT JOIN  data ON data.cat=categories.id  ",$db); 
$myrow mysql_fetch_array($result);
if (!
$result//проверка корректности результата выборки полей из базы
{
 
?>
<p style ="color:red;" > В этом разделе нет записей !!!</p>
<?php
exit();
}
?>
<h3 align="center">Выбирите что удалять...</h3><br>
<form action="" method="post" name="del" >
<!--<form action="" method="post" name="del" onSubmit="return confirm('Точно удаляем?')">-->
   <table class="form">
  <tr>
    <td class="ss_p"  width="170">Категории</td>
    <td class="ss_p">Статьи</td>
    <td class="ss_p" width="177">Удалить(выбрать !)</td>
  </tr>
<?php
/////   Цикл......///////////////////////////////////////////////////////////////////
do 
{
?>
<tr>    
<td ><?=$myrow["title1"]?></td>    
<td ><a href="del_post.php?id=<?=$myrow["id1"]?>"><?=$myrow["title2"]?></a></td> 
<td><div align="center">
<input type="checkbox" select name="id1[]" multiple value="<?=$myrow["title2"]?>"></div>
</td>
</tr>
<?php 
}
while (
$myrow mysql_fetch_array($result));
//////// конец цикла/////////////////////////////////////////////////////////////
}
 
?>
</table>  
<div align="center"><input type="submit" name="del"  value="Выбираем TITLE на удаление!" class= "bbb" ></div>
<?php
foreach ($_POST['id1'] as $key => $value)
{
echo (
"  $key ... $value <br>");
}
?>

<!--Выводится список выбранных статей...
0...("title2") статья (7)
1...("title2")статья (76)
........статья ...(N)

И вот здесь я застрял.........


1...Здесь мне нужно подтверждение типо что-то такого...-->

<div align="center"><input type="submit" name="del"  value="Подтвердить удаление выбранных TITLE!" class= "bbb" ></div>

</form>

2.....И вот здесь надо удалить выбранные статьи из базы....
<?php $result1 =mysql_query ("DELETE FROM data WHERE id='???????'")
if (
$result1 == 'true'
{
echo 
"Статьи  успешно удалены !";
}
?>

Как сделать подтверждение удалению и затем, те что выбрались, удалить?????

   
 
 автор: sim5   (05.05.2008 в 12:18)   письмо автору
 
   для: serjinio   (05.05.2008 в 12:08)
 

А это чем вам не подходит?:
<!--<form action="" method="post" name="del" onSubmit="return confirm('Точно удаляем?')">-->

   
 
 автор: serjinio   (05.05.2008 в 12:57)   письмо автору
 
   для: sim5   (05.05.2008 в 12:18)
 

Не подходит ,потому что когда нажимаешь "Выбираем TITLE на удаление!"мне надо чтобы сначало вывелся список выбранных статей ,а потом произошло удаление после подтверждения,а если использовать
<form action="" method="post" name="del" onSubmit="return confirm('Точно удаляем?')">

то при нажатии "Выбираем TITLE на удаление!" всплывет окно"Точно удаляем?",а затем выведется список уже удаленных...т.е не та последовательность действий..

   
 
 автор: sim5   (05.05.2008 в 13:05)   письмо автору
 
   для: serjinio   (05.05.2008 в 12:57)
 

Не городите вы колесо очередное.) Чекбоксами определите id удаляемых записей, выбрали чекбоксы того, что нужно удалить, нажали сабмит (кторый просто может иметь надпись Удалить), получите как раз окно подтверждения, ответили положительно, значит удалили, нет, значит не произойдет отправки формы. Вы все пытаетесь усложнить себе жизнь, мне так кажется. )

   
 
 автор: serjinio   (05.05.2008 в 21:06)   письмо автору
 
   для: sim5   (05.05.2008 в 13:05)
 

Все-таки я сделал,что хотел ,.....
сделал вывод выбранных полей на удаление с последующим удалением из базы....
все-таки воспользовался
<form action="" method="post" name="del" onSubmit="return confirm('Точно удаляем?')">

все заработало...


<input type="checkbox" select name="delete[]" multiple value="<?=$myrow["id1"]?>"></div></td>
</tr>
<?php 
}
while (
$myrow mysql_fetch_array($result));
}
?>
</table>  
</form>
<?php
include ("blocks/bd.php");
if (isset(
$_POST['delete']))
{
$delete = ($_POST['delete']);}
  if(!empty(
$delete))
  {
    
$query "(";
    foreach(
$delete as $val$query .= "$val,";
    
$query substr($query0strlen($query) - 1).")";
    
$result7 mysql_query ("SELECT id , title FROM data WHERE  id in $query ",$db);
$myrow7 mysql_fetch_array($result7);                
do 
{
echo 
"<span class='news_title'>Удалены записи: =></span> <span class='s_p'>".$myrow7['title']."</span> <br>";
}
while (
$myrow7 mysql_fetch_array($result7));
$query "DELETE FROM data WHERE id IN ".$query;
   
    if(!
mysql_query($query))
   {
     echo 
mysql_error()."<br>";
      echo 
$query."<br>";
      
   }
echo 
"<p style='color: #CC0000; font-weight: bold; text-align: center;'>Выбранные записи удалены !</p><br><meta http-equiv=\"refresh\" content=\"5;URL=del_post1.php\">";  
  }

if (!
$delete )
{    
echo 
"<p>Записи не удалены ! Поставьте галочки !!!</p><br>";   
}  

mysql_close($db); 

к сожалению не нашел более компактного решения...
это не изобретения колеса ,просто пишу админку для жены...,а женщины рассеянные натуры...вот и приходится подстраховываться.....

   
 
 автор: sim5   (06.05.2008 в 03:40)   письмо автору
 
   для: serjinio   (05.05.2008 в 21:06)
 

Атрибут multiple в чекбоксах ни к чему. А методом window.confirm() можно многократно спрашивать: - "А вы точно уверены, что хотите это удалить?!", только вот к чему? Ай-яй-яй, что же вы это так о своей любимой... Достаточно и одного напоминания (даже для женщины), а свести ошибки к минимуму - это продумывать разумный вывод информации, наглядный, интуитивно понятный, исключающий двусмысленность. А это ваша забота, а не вашей любимой. )

   
Rambler's Top100
вверх

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