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]   

> Описание: проблема с delete
Bioslave
Отправлено: 29 Мая, 2011 - 23:27:41
Post Id


Новичок


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


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




добрый вечер вот такая вот проблема, не могу удалить инфу из базы код ниже:

PHP:
скопировать код в буфер обмена
  1. <?PHP
  2.         if (count($form_data['sql_where']) !== 0)
  3.         {
  4.                 $query = mysql_query("SELECT `a`.`id`,`a`.`date`,`a`.`nrpr`,`b`.`type` FROM `add_group` AS `a` LEFT JOIN `doc_type` AS `b` ON `b`.`id`=`a`.`type_id` WHERE ".implode(' AND ', $form_data['sql_where'])." ORDER BY `id` DESC");
  5.         //echo "SELECT `id`,`date`,`nrpr`,`type`,`pot` FROM add_group WHERE ".implode(' AND ', $form_data['sql_where'])." ORDER BY `id` DESC";
  6.  
  7.                 if (mysql_num_rows($query) !== 0)
  8.                 {
  9.                         echo '
  10.                                         <script type="text/javascript">
  11.                                                 function askUser() {
  12.                                                 return window.confirm("Вы действительно хотите удалить?");
  13.                                                 }
  14.                                         </script>
  15.                                         <table border="1"> <tr> <th>№</th> <th>Tarix</th> <th>&#399;mrin nцmr&#601;si</th> <th>&#399;mrin nцvь</th> <th>Status</th> <th>Sil</th> <th>Redakta et</th> </tr>
  16.                         ';
  17.  
  18.                         while ($data = mysql_fetch_assoc($query))
  19.                         {
  20.                                 echo '
  21.                                                 <tr>
  22.                                                         <td>'.$data['id'].'</td>
  23.                                                         <td>'.date("d-m-Y", $data['date']).'</td>
  24.                                                         <td><a href="pr.php?id='.$data['id'].'" style =" color: red;">'.$data['nrpr'].'</a></td>
  25.                                                         <td><font color="green">'.$data['type'].'</font></td>
  26.                                 ';
  27.                                
  28.                                 if (isset($_POST['delete']))
  29.                                
  30.                                                
  31.                                 {
  32.                                  
  33.                                  mysql_query ('DELETE FROM `add_group` WHERE `id` = '.$data['id'].' LIMIT 1') or die ('Error Delete');
  34.                                        
  35.                                 }
  36.                                         echo'
  37.                                         <form action="diz.php?input=search" method="post">
  38.                                         <td><input name="delete" value="'.$data['id'].'" type="submit"  onclick="return askUser();" /></td>
  39.                                         <td><input name="edit" type="submit" value="Редактировать"></td></tr>
  40.                                         </form>';
  41.                                        
  42.  
  43.  
  44.                         }
  45.  
  46.                         echo '</table>';
  47.                 }
  48.                 else
  49.                 {
  50.                         echo '<div style="color: red;">Не найдено</div>';
  51.                 }
  52.         }
  53.        
  54.        
  55.        
  56. ?>
  57.  


Где мая ошибка ? после нажатия кнопки print_r ($_POST) выдаёт Array ( [delete_x] => 0 [delete_y] => 0 [delete] => 17 ) что не так ?


-----
Ася:-ПятьШесть4035773
 
 Top
DlTA
Отправлено: 30 Мая, 2011 - 00:02:08
Post Id



Постоянный участник


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


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




.................... (эпитеты)
разобраться не видя всей картины вообще не реально!
а так могу предложить отлаживать по шагово,
проверяя что на входе и на выходе
 
 Top
Bioslave
Отправлено: 30 Мая, 2011 - 00:13:38
Post Id


Новичок


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


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




Вот вся картина :

PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. include ('conf.php');
  3.  
  4. print_r($_POST);
  5.  
  6. $form_data = array(
  7.                                                 'date_start'            => null,
  8.                                                 'date_end'              => null,
  9.                                                 'nrpr'                  => null,
  10.                                                 'type'                  => null,
  11.                                                 'sql_where'             => array()
  12.                                         );
  13.  
  14.  
  15. if (isset($_POST['search']))
  16. {
  17.         if (isset($_POST['date_start']) && !empty($_POST['date_start']))
  18.         {
  19.                 $form_data['sql_where'][] = "`a`.`date` >= '".strtotime($_POST['date_start'])."'";
  20.                 $form_data['date_start'] = $_POST['date_start'];
  21.         }
  22.  
  23.         if (isset($_POST['date_end']) && !empty($_POST['date_end']))
  24.         {
  25.                 $form_data['sql_where'][] = "`a`.`date` <= '".strtotime($_POST['date_end'])."'";
  26.                 $form_data['date_end'] = $_POST['date_end'];
  27.         }
  28.  
  29.         if (isset($_POST['type']) && !empty($_POST['type']))
  30.         {
  31.                 $form_data['sql_where'][] = "`a`.`type_id` = '".mysql_real_escape_string($_POST['type'])."'";
  32.                 $form_data['type'] = $_POST['type'];
  33.         }
  34.        
  35.         if (isset($_POST['nrpr']) && !empty($_POST['nrpr']))
  36.         {
  37.                 $form_data['sql_where'][] = "`a`.`nrpr` = '".mysql_real_escape_string($_POST['nrpr'])."'";
  38.                 $form_data['nrpr'] = $_POST['nrpr'];
  39.         }
  40. }
  41.  
  42. //if (isset($_POST['search_by_num']))
  43. //{
  44.        
  45. //}
  46. ?>
  47.  
  48. <html>
  49. <head>
  50. <title>Mцvcud &#399;mirl&#601;r</title>
  51. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  52.  
  53. </head>
  54. <body> <br>
  55.         <div align="center"><font size="3">MЦVCUD &#399;MRL&#399;R</font></div>
  56.        
  57.        
  58. <div>
  59. <script src="calendar.js"></script>
  60. <p><big>Axtar&#305;&#351; kriteriyas&#305;:</big><br><br>
  61.  
  62. <form action="diz.php?input=search" method="post">
  63.      &#399;mrin nцmr&#601;si:&nbsp;&nbsp;&nbsp;
  64.      
  65.      <?PHP
  66. $query_num = mysql_query("SELECT * FROM `add_group` ORDER BY `id` ASC");
  67.  
  68. if (mysql_num_rows($query_num) !== 0)
  69. {
  70.         echo '
  71.                         <select name="nrpr" style="width: 300px;">
  72.                                 <option value=""></option>
  73.         ';
  74.  
  75.         while ($dump_type = mysql_fetch_assoc($query_num))
  76.         {
  77.                 if ($dump_type['id'] == $form_data['nrpr'])
  78.                 {
  79.                         echo '<option value="'.$dump_type['id'].'" selected="selected">'.$dump_type['nrpr'].'</option>';
  80.                 }
  81.                 else
  82.                 {
  83.                         echo '<option value="'.$dump_type['id'].'">'.$dump_type['nrpr'].'</option>';
  84.                 }
  85.  
  86.         }
  87.  
  88.         echo '</select>';
  89. }
  90. ?>
  91.  
  92.     <br><br>
  93.  
  94.  
  95. Tarixd&#601;n <input name="date_start" type="text" value="<?=$form_data['date_start'];?>" onfocus="this.select();lcs(this)"
  96.         onclick="event.cancelBubble=true;this.select();lcs(this)">
  97.  -d&#601;k <input name="date_end" type="text" value="<?=$form_data['date_end'];?>" onfocus="this.select();lcs(this)"
  98.         onclick="event.cancelBubble=true;this.select();lcs(this)">
  99.         <input name="search" type="submit" value="Axtar"><br><br>
  100.        
  101.     &#399;mrin nцvь:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  102.  
  103. <?PHP
  104. $query_type = mysql_query("SELECT * FROM `doc_type` ORDER BY `id` ASC");
  105.  
  106. if (mysql_num_rows($query_type) !== 0)
  107. {
  108.         echo '
  109.                         <select name="type" style="width: 300px;">
  110.                                 <option value=""></option>
  111.         ';
  112.  
  113.         while ($dump_type = mysql_fetch_assoc($query_type))
  114.         {
  115.                 if ($dump_type['id'] == $form_data['type'])
  116.                 {
  117.                         echo '<option value="'.$dump_type['id'].'" selected="selected">'.$dump_type['type'].'</option>';
  118.                 }
  119.                 else
  120.                 {
  121.                         echo '<option value="'.$dump_type['id'].'">'.$dump_type['type'].'</option>';
  122.                 }
  123.  
  124.         }
  125.  
  126.         echo '</select>';
  127. }
  128. ?>
  129.  
  130.         <br>
  131.         <br>
  132. </form>
  133.  
  134.  
  135.    
  136.     <a href="diz.php?input=search"><input type="submit" value="Axtar&#305;&#351; Kriyeriyas&#305;n&#305; S&#305;f&#305;rla"></a><br><br>
  137. <a href="diz.php?input=all" border="0"><input type="submit" value="Tam siyah&#305;n&#305; gцst&#601;r"></a><br><br>
  138. </form>
  139.  
  140. </p>
  141.  
  142. <?PHP
  143.         if (count($form_data['sql_where']) !== 0)
  144.         {
  145.                 $query = mysql_query("SELECT `a`.`id`,`a`.`date`,`a`.`nrpr`,`b`.`type` FROM `add_group` AS `a` LEFT JOIN `doc_type` AS `b` ON `b`.`id`=`a`.`type_id` WHERE ".implode(' AND ', $form_data['sql_where'])." ORDER BY `id` DESC");
  146.         //echo "SELECT `id`,`date`,`nrpr`,`type`,`pot` FROM add_group WHERE ".implode(' AND ', $form_data['sql_where'])." ORDER BY `id` DESC";
  147.  
  148.                 if (mysql_num_rows($query) !== 0)
  149.                 {
  150.                         echo '
  151.                                         <script type="text/javascript">
  152.                                                 function askUser() {
  153.                                                 return window.confirm("Вы действительно хотите удалить?");
  154.                                                 }
  155.                                         </script>
  156.                                         <table border="1"> <tr> <th>№</th> <th>Tarix</th> <th>&#399;mrin nцmr&#601;si</th> <th>&#399;mrin nцvь</th> <th>Status</th> <th>Sil</th> <th>Redakta et</th> </tr>
  157.                         ';
  158.  
  159.                         while ($data = mysql_fetch_assoc($query))
  160.                         {
  161.                                 echo '
  162.                                                 <tr>
  163.                                                         <td>'.$data['id'].'</td>
  164.                                                         <td>'.date("d-m-Y", $data['date']).'</td>
  165.                                                         <td><a href="pr.php?id='.$data['id'].'" style =" color: red;">'.$data['nrpr'].'</a></td>
  166.                                                         <td><font color="green">'.$data['type'].'</font></td>
  167.                                 ';
  168.                                
  169.                                 if (isset($_POST['delete']))
  170.                                
  171.                                                
  172.                                 {
  173.                                   //$delete = $_POST['delete'];
  174.                                  mysql_query ("DELETE FROM `add_group` WHERE `id` = '17' LIMIT 1") or die ('Error Delete');
  175.                                        
  176.                                 }
  177.                                         echo'
  178.                                         <form action="diz.php?input=search" method="post">
  179.                                         <td><input name="delete" value="'.$data['id'].'" type="image"  src="../images/del.png" alt="Удалить товар" onclick="return askUser();" /></td>                                  <td><input name="edit"   type="submit" value="Редактировать"></td></tr>
  180.                                         </form>';
  181.                                        
  182.  
  183.  
  184.                         }
  185.  
  186.                         echo '</table>';
  187.                 }
  188.                 else
  189.                 {
  190.                         echo '<div style="color: red;">Не найдено</div>';
  191.                 }
  192.         }
  193.        
  194.        
  195.        
  196. ?>
  197.  
  198. </body>
  199. </html>


-----
Ася:-ПятьШесть4035773
 
 Top
DlTA
Отправлено: 30 Мая, 2011 - 00:27:18
Post Id



Постоянный участник


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


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




а самостоятельно дебажить леньки?
если да то тему не в том разделе создали!
(Добавление)
вообще код оформлен (эпитеты)
не могу понять как вам вообще приятно такое смотреть и кодить!?!

а вообще баг вот в этой строке
mysql_query ("DELETE FROM `add_group` WHERE `id` = '17' LIMIT 1")
в частности выделенное жирным
 
 Top
Bioslave
Отправлено: 30 Мая, 2011 - 00:42:00
Post Id


Новичок


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


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




ну это я сам подставил для проверки там `id` = '.$data['id'].' но удаление не идёт.


-----
Ася:-ПятьШесть4035773
 
 Top
DlTA
Отправлено: 30 Мая, 2011 - 01:00:54
Post Id



Постоянный участник


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


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




а что "идет"?
что вообще происходит?
для наглядности было бы хорошо показать запрос на удаление в браузере.
и если есть то сообщение о ошибке mysql_error(). а не "Error Delete"
и проверить полученное в том же phpMyAdmin,
 
 Top
OrmaJever Модератор
Отправлено: 30 Мая, 2011 - 01:04:57
Post Id



Активный участник


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


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




Bioslave пишет:
ну это я сам подставил для проверки там `id` = '.$data['id'].' но удаление не идёт.

запрос на удаление в двойных кавычках.
Bioslave пишет:
mysql_query ("DELETE FROM `add_group` WHERE `id` = '17' LIMIT 1") or die ('Error Delete');

либо убрать точки либо поменять кавыки


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
Bioslave
Отправлено: 30 Мая, 2011 - 08:04:03
Post Id


Новичок


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


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




убераю точку вот ответ об ошибки:

Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /var/www/search.php on line 174
(Добавление)
кавычки заменил на одинарные, тоже самое удаление отсутствует. В чём проблема ?
(Добавление)
Делаю дебаг нечего не помогает, сделал так echo $id = $data['id']; всё нормально выводит из базы но вот сую его в запрос и нечего всё чисто.

mysql_query ("DELETE FROM `add_group` WHERE id = '$id'") or die (mysql_error());

Воторые сутки сижу всё безрезультатно.


-----
Ася:-ПятьШесть4035773
 
 Top
DlTA
Отправлено: 30 Мая, 2011 - 12:51:48
Post Id



Постоянный участник


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


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




а что в базе?
может там и удалять нечего?
(Добавление)
Для детального изучения
 
 Top
Bioslave
Отправлено: 30 Мая, 2011 - 13:10:12
Post Id


Новичок


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


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




тема закрыта, сделал отдельный скрипт который обрабатывает $_GET а в кнопках поставил <a href="delete.php?id='.$data['id'].'" onclick="return askUser();">

всем спасибо.


-----
Ася:-ПятьШесть4035773
 
 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