За последние 24 часа нас посетили 38364 программиста и 1722 робота. Сейчас ищут 650 программистов ...

Не удаляется запись

Тема в разделе "PHP для новичков", создана пользователем viktor72, 12 янв 2016.

  1. viktor72

    viktor72 Активный пользователь

    С нами с:
    20 дек 2015
    Сообщения:
    326
    Симпатии:
    6
    Не могу понять. почему не удалятся запись

    Код (PHP):
    1.   
    2. <?php
    3. if ( isset ( $_POST['item'] ) ) 
    4. { 
    5.   $ids = implode( ',', $_POST['item'] ); 
    6.   $query = 'DELETE FROM kandidat WHERE id IN ('.$ids.')'; 
    7.   mysql_query( $query ); 
    8.   header( 'Location: '.$_SERVER['PHP_SELF'] ); 
    9. } 
    10. ?>
    11. <?php
    12. $per_page=15;
    13. if (isset($_GET['page'])) $page=($_GET['page']-1); else $page=0;
    14. $start=abs($page*$per_page);
    15. $q = "SELECT * FROM `kandidat` ORDER BY data DESC LIMIT $start$per_page";
    16.  
    17. $sql = mysql_query($q);
    18. echo '<form action="'.$_SERVER['PHP_SELF'].'" method="POST">'; 
    19. echo '<input type="submit" name="submitForm" value="Удалить отмеченные"><br><br>'; 
    20. echo "<table border='1' cellspacing='0' cellpadding='5'>";
    21. echo "<tr><th>Фото</th><th>Резюме</th><th>Город</th><th>www</th><th>Удл</th><th>Дата</th><th>file</th></tr>";
    22. while ($result = mysql_fetch_array($sql)) 
    23. {
    24.  
    25. echo "<tr>
    26.         <td>";
    27.     
    28. $photo = "<img src = 'file/". $result[photo]."' height='95' width='75'/>";    
    29.  
    30. switch($result['photo'] or NULL)
    31.                 {
    32.                 case 1:
    33.                 echo $photo;
    34.                     break;
    35.                 case 2:
    36.                 echo NULL;
    37.                     break;
    38.                 }
    39.                 echo "</td>";    
    40.         
    41. echo        "<td><a href='update.php?ID=".$result[id_candidat]."'>".substr($result[rezum_txt],0,200)."</a></td>";
    42. echo         "<td>".$result[id_city]."</td>";
    43.             
    44. echo "<td>";
    45.  
    46. $veb = "[url=".$result[veb]."] veb [/url]";            
    47.                 switch($result['veb'] or NULL)
    48.                 {
    49.                 case 1:
    50.                 echo $veb;
    51.                     break;
    52.                 case 2:
    53.                 echo NULL;
    54.                     break;
    55.                 }
    56.                 echo "</td>";
    57. //echo '<td><input type="checkbox" name="item[]" value="'.$result[id_candidat].'" /></td>';  
    58. echo     "<td><input type='checkbox' name='item[]' value=".$result[id_candidat]."></td>";  
    59. //echo    "<td><a href='delet.php?del=".$result[id_candidat]."'>Удалить</a></td>";
    60.  
    61. echo    "<td>".substr($result[data],2,9)."</td>";    
    62. echo      "<td><a href='file/". $result[file]."'>"  .substr($result['file'],0,10 ). "</a></td>
    63.         </tr>"; 
    64. }
    65.         
    66.     
    67.     
    68. echo "</table><br>";
    69. echo '</form>';
    70. $q="SELECT count(*) FROM `kandidat`";
    71. $res=mysql_query($q);
    72. $row=mysql_fetch_row($res);
    73. $total_rows=$row[0];
    74.  
    75. $num_pages=ceil($total_rows/$per_page);
    76.  
    77. for($i=1;$i<=$num_pages;$i++) {
    78.   if ($i-1 == $page) {
    79.     echo $i." ";
    80.   } else {
    81.     echo '<b><font size="5" face="Arial">[url="'.$_SERVER['PHP_SELF'].'?page='.$i.'"]'.$i.'[/url]</font></b>   ';
    82.   }
    83. } 
    84. ?>
    Подсказка от модератора:
    Любой код или текст конфигурации пишите между тегом [code=php] и [/code].
    Используйте отступы в коде для форматирования текста.
    Это помогает быстрее понять вас, увеличивает шанс на получение ответа.
    Что выделять? Например: PHP, HTML, CSS, JavaScript, SQL, XML, .htaccess, ini, регулярные выражения, код шаблонизаторов, результаты array/object dump и т. д.
     
  2. mahmuzar

    mahmuzar Старожил

    С нами с:
    6 апр 2012
    Сообщения:
    4.631
    Симпатии:
    425
    Адрес:
    РД, г. Махачкала.
    mysql_ расширение уже устарело, используй Mysqli_ или PDO

    Проверь, срабатывает ли условие, и echo $query. Так ты увидишь как выглядит твой запрос к базе данных и возможную ошибку.
     
  3. viktor72

    viktor72 Активный пользователь

    С нами с:
    20 дек 2015
    Сообщения:
    326
    Симпатии:
    6
    попробовал - print_r($query); - ничего не выводится
     
  4. mahmuzar

    mahmuzar Старожил

    С нами с:
    6 апр 2012
    Сообщения:
    4.631
    Симпатии:
    425
    Адрес:
    РД, г. Махачкала.
     
  5. viktor72

    viktor72 Активный пользователь

    С нами с:
    20 дек 2015
    Сообщения:
    326
    Симпатии:
    6
    А как можно проверить срабатывает ли условие?
     
  6. mahmuzar

    mahmuzar Старожил

    С нами с:
    6 апр 2012
    Сообщения:
    4.631
    Симпатии:
    425
    Адрес:
    РД, г. Махачкала.
    Значит, не срабатывает условие. Вставь в начало скрипта, после отправки формы, посмотри есть ли нужные данные
    Код (PHP):
    1. echo "<pre>";
    2. var_dump($_POST);
    3. echo "</pre>"; 
     
  7. viktor72

    viktor72 Активный пользователь

    С нами с:
    20 дек 2015
    Сообщения:
    326
    Симпатии:
    6
    Нашел, спасибо! Работает.
    Сложно перейти на mysqli ?
     
  8. mr.akv

    mr.akv Активный пользователь

    С нами с:
    31 мар 2015
    Сообщения:
    1.604
    Симпатии:
    206