Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: запрос на удаление строки из базы...

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: помогите новичку плз)
MBmusic
Отправлено: 18 Декабря, 2011 - 16:10:46
Post Id


Посетитель


Покинул форум
Сообщений всего: 481
Дата рег-ции: Окт. 2011  


Помог: 0 раз(а)




в общем на стену выводятся все строки из базы, и есть кнопка удаления у каждой выведенной строки, надо сделать что бы при нажатии на соответствующую кнопку удалялся соответсвтующая ей строка...
CODE (htmlphp):
скопировать код в буфер обмена
  1. while(@$row = mysql_fetch_assoc ($res))
  2.                         {
  3.                 if($submit_del)
  4.                 {
  5.                                    $del = mysql_query("DELETE FROM posts WHERE `id`=`id`");
  6.                 }                              
  7.             ?> 
  8.             <table>                    
  9.                            <tr align="center">
  10.                       <td width="160px"><?php echo $row['date']."  ".$row['date_time']; ?></td>
  11.                           <td width="500px"><?php echo $row['post_name']; ?></td>
  12.                           <td width="100px"><input type="submit" value="Удалить" name="submit_del"></td>
  13.                    </tr>
  14.             </table>                       
  15.                         <?php  
  16.                         }


вот код, запрос на удаление там есть, но чето не работает, есть кнопка на удаление в хтмл коде, но тоже чето не работает......помогите в общем)

(Отредактировано автором: 18 Декабря, 2011 - 16:12:33)

 
 Top
cHameleon
Отправлено: 18 Декабря, 2011 - 16:22:06
Post Id



Гость


Покинул форум
Сообщений всего: 107
Дата рег-ции: Янв. 2010  


Помог: 0 раз(а)




и какая строка, по вашему мнению, должна удалиться при команде
CODE (SQL):
скопировать код в буфер обмена
  1.  
  2. DELETE FROM posts WHERE `id`=`id`
  3.  


-----
берём notepad++ и творим пэхэпэ-мир
 
 Top
MBmusic
Отправлено: 18 Декабря, 2011 - 17:01:10
Post Id


Посетитель


Покинул форум
Сообщений всего: 481
Дата рег-ции: Окт. 2011  


Помог: 0 раз(а)




ну дык помогите, как правильно написать?
 
 Top
Slesher
Отправлено: 18 Декабря, 2011 - 18:03:43
Post Id


Гость


Покинул форум
Сообщений всего: 69
Дата рег-ции: Дек. 2011  


Помог: 0 раз(а)




MBmusic
1) у вас даже тега формы нет, не знать куда вы передаете екшн скрипта.
2)в запросе если у вас айди типа инт то кавычек не надо.
3) воопще помоему такое называется говнокод, так как здесь даже трудно понять что код делает. Сделайте себе хоть какой рефакторинг, и тогда сами увидите решение проблемы.

а, да, а вообще что по вашему должна делать вот эта команда?
WHERE `id`=`id`" ? о_О
 
 Top
MBmusic
Отправлено: 18 Декабря, 2011 - 19:36:07
Post Id


Посетитель


Покинул форум
Сообщений всего: 481
Дата рег-ции: Окт. 2011  


Помог: 0 раз(а)




сделал форму, все норм удаляет уже, но удаляет все строки) тоесть при нажатии удалить одной строки косит все......

Slesher, я не знаю как написать правильный запрос, если можешь помоги плз)
 
 Top
Slesher
Отправлено: 18 Декабря, 2011 - 19:40:51
Post Id


Гость


Покинул форум
Сообщений всего: 69
Дата рег-ции: Дек. 2011  


Помог: 0 раз(а)




MBmusic, ну так естественно)

"DELETE FROM posts WHERE `id`=`id`"

литерал id всегда будет равна id, это то же что "DELETE FROM posts WHERE 1=1"

киньте нормально весь код что у вас есть, а не обрубок кода.
 
 Top
MBmusic
Отправлено: 18 Декабря, 2011 - 20:05:36
Post Id


Посетитель


Покинул форум
Сообщений всего: 481
Дата рег-ции: Окт. 2011  


Помог: 0 раз(а)




ну вот код на добавление в базу:
CODE (htmlphp):
скопировать код в буфер обмена
  1. <?php
  2.  
  3. $post = $_POST['post'];
  4. $submit = $_POST['submit'];
  5.  
  6. $date = date("d.m.Y");
  7. $date_time = date("G:i");
  8.  
  9. $post_name = $_POST['post_name'];
  10.  
  11. if ($submit)
  12. {
  13.   include '../../config.php';
  14.  
  15.  
  16.   $name = $_FILES['myfile']['name'];
  17.   $tmp_name = $_FILES['myfile']['tmp_name'];
  18.  
  19.      $image_blog = "../../skins/images/blog/$name";
  20.      move_uploaded_file($tmp_name, $image_blog);
  21.      if (!($post_name))
  22.           {
  23.              $post_name = "...";
  24.                  
  25.              $queryreg = mysql_query("INSERT INTO posts (post_name, image_blog, post, date, date_time) VALUES ('$post_name', '$image_blog', '$post', '$date', '$date_time')") or die (mysql_error());
  26.           }
  27.           else
  28.           {
  29.              $queryreg = mysql_query("INSERT INTO posts (post_name, image_blog, post, date, date_time) VALUES ('$post_name', '$image_blog', '$post', '$date', '$date_time')") or die (mysql_error());
  30.           }
  31.  
  32. }                                                        
  33.  
  34. ?>


вот код на выборку и вывод, а так же на удаление:

CODE (htmlphp):
скопировать код в буфер обмена
  1. <?php
  2.  
  3.  
  4.      include '../../config.php';
  5.  
  6.      $submit_del = $_POST['submit_del'];
  7.       $res = mysql_query ("SELECT * FROM posts WHERE `id`=`id`");        
  8.      if (mysql_num_rows($res) == 0)
  9.         {
  10.          }     
  11.      else
  12.         {
  13.                     while(@$row = mysql_fetch_assoc ($res))
  14.                         {
  15.                 if($submit_del)
  16.                {
  17.                                    $del = mysql_query("DELETE FROM posts WHERE `id`=`id`");
  18.                 }                              
  19.             ?> 
  20.                         <form action="" name="post" method="post">
  21.             <table>                    
  22.                            <tr align="center">
  23.                       <td width="160px"><?php echo $row['date']."  ".$row['date_time']; ?></td>
  24.                           <td width="500px"><?php echo $row['post_name']; ?></td>
  25.                           <td width="100px"><input type="submit" value="Удалить" name="submit_del"></td>
  26.                    </tr>
  27.             </table>
  28.             </form>                    
  29.                         <?php  
  30.                         }
  31.          }     
  32.  
  33.  
  34.  
  35.  
  36.  
  37. ?>
 
 Top
etoYA
Отправлено: 18 Декабря, 2011 - 20:09:44
Post Id



Участник


Покинул форум
Сообщений всего: 1859
Дата рег-ции: Июль 2011  
Откуда: Крым


Помог: 21 раз(а)




PHP:
скопировать код в буфер обмена
  1. $del = mysql_query("DELETE FROM posts WHERE `id`=`id`");


что-то не понял этого... Как вы передаете параметр id?

(Отредактировано автором: 18 Декабря, 2011 - 20:10:22)

 
 Top
Slesher
Отправлено: 18 Декабря, 2011 - 21:00:23
Post Id


Гость


Покинул форум
Сообщений всего: 69
Дата рег-ции: Дек. 2011  


Помог: 0 раз(а)




хотя бы так:

PHP:
скопировать код в буфер обмена
  1. <form action="" name="post" method="post">
  2.  
  3.             <table>                    
  4.  
  5.                            <tr align="center">
  6.  
  7.                       <td width="160px"><?PHP echo $row['date']."  ".$row['date_time']; ?></td>
  8.  
  9.                           <td width="500px"><?PHP echo $row['post_name']; ?></td>
  10. <input type='hidden' name='del' value='<?PHP echo $row['post_name']; ?>'>
  11.                           <td width="100px"><input type="submit" value="Удалить" name="submit_del"></td>
  12.  
  13.                    </tr>
  14.  
  15.             </table>
  16.  
  17.             </form>          

PHP:
скопировать код в буфер обмена
  1.  
  2. $del = mysql_query("DELETE FROM posts WHERE `post_name`=`{$_POST['del']}`");

(Добавление)
но я вообще не уверен что структура и логика вашего кода правильна по своей сути.
 
 Top
MBmusic
Отправлено: 18 Декабря, 2011 - 21:24:13
Post Id


Посетитель


Покинул форум
Сообщений всего: 481
Дата рег-ции: Окт. 2011  


Помог: 0 раз(а)




эмм, вставил ваш код, чето не работает(
мб там в запросе на удаление надо чето типа LIMIT 1 дописать и еще чтото...
 
 Top
dmitry
Отправлено: 20 Декабря, 2011 - 12:28:18
Post Id


Новичок


Покинул форум
Сообщений всего: 27
Дата рег-ции: Нояб. 2011  


Помог: 0 раз(а)




MBmusic пишет:
эмм, вставил ваш код, чето не работает(
мб там в запросе на удаление надо чето типа LIMIT 1 дописать и еще чтото...


Вы выделите переменную. Иначе вы не сможете удалить данные из базы.
PHP:
скопировать код в буфер обмена
  1.  
  2. $id = 20; // Все которые равны 20
  3. mysql_query("DELETE FROM posts WHERE 'id'=".$id);
  4.  


В данном случае нужно удалить все записи, в которых id равно 20.
 
 Top
snikers987
Отправлено: 20 Декабря, 2011 - 14:24:33
Post Id



Участник


Покинул форум
Сообщений всего: 1239
Дата рег-ции: Сент. 2011  
Откуда: Крым


Помог: 25 раз(а)




PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. include '../../config.php';
  3. $submit_del = $_POST['submit_del'];
  4. $res = mysql_query ("SELECT * FROM posts WHERE `id`=`id`");      
  5.       if (mysql_num_rows($res) == 0) {
  6.       //empty
  7.       }else{
  8.        while(@$row = mysql_fetch_assoc ($res)){
  9.         //вывод постов и ссылки на удаление
  10.         echo "<a href='post.php?del&id={$row['id']}'>Удалить</a>";
  11.             }
  12. }
  13.  
  14. if(isset($_GET['del']) && is_numeric($_GET['id'])){
  15.   mysql_query("DELETE FROM posts WHERE `id`=$_GET['id']");                
  16. }                              
  17.  
  18. ?>

(Отредактировано автором: 20 Декабря, 2011 - 14:30:18)



-----
Когда всматриваешься в тёмную бездну, учти, что кто-то может смотреть на тебя из неё...
 
My status
 Top
MBmusic
Отправлено: 20 Декабря, 2011 - 15:04:51
Post Id


Посетитель


Покинул форум
Сообщений всего: 481
Дата рег-ции: Окт. 2011  


Помог: 0 раз(а)




спасибо) уже разобрался)
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB