За последние 24 часа нас посетили 18169 программистов и 1661 робот. Сейчас ищут 1605 программистов ...

Не удаляется инфа из БД

Тема в разделе "PHP и базы данных", создана пользователем Lopar, 19 янв 2009.

  1. Lopar

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

    С нами с:
    18 янв 2009
    Сообщения:
    16
    Симпатии:
    0
    Есть вот такая конструкция:

    PHP:
    1.  
    2. <?php
    3. $link = mysql_connect("localhost", "root", "");
    4.     mysql_select_db("poliklinika", $link) or die("db.not.connect");
    5.  
    6. if (isset($_POST['action2']) && $_POST['action'] == 'deleted') {
    7. $query = "DELETE FROM Blacklist WHERE id_klient = ('$_POST[id_klient_b]')";
    8.     mysql_query($query) or die(mysql_error());
    9.     mysql_close($link);
    10.     print "Запит виконано: ".$query."<p>";
    11.     echo '<a href="'. $_SERVER['PHP_SELF'] .'">На главную</a>';
    12. } else {
    13. if (isset($_POST['action']) && $_POST['action'] == 'submitted') {
    14.     $query = "INSERT INTO Blacklist(id_klient) VALUES ('$_POST[id_klient]')";
    15.     mysql_query($query) or die(mysql_error());
    16.     mysql_close($link);
    17.     print "Запит виконано: ".$query."<p>";
    18.     echo '<a href="'. $_SERVER['PHP_SELF'] .'">На главную</a>';
    19. } else {
    20. ?>
    21. <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
    22. <table><tr><td>TITLE</td></tr>
    23. <?
    24.     $klid_query_b = mysql_query ("SELECT id, fio FROM Klient WHERE id IN (SELECT id_klient FROM Blacklist)", $link);
    25.     while ($klid_b=mysql_fetch_array($klid_query_b)) {
    26. echo "
    27. <tr>
    28.  <td>".$klid_b[fio]."<input type='hidden' name='id_klient_b' value='".$klid_b[id]."' /></td>
    29.  <td>
    30. <input type='hidden' name='action2' value='deleted' />
    31. <input type='submit' name='submit2' value='Видалити' /></td>
    32. </tr>
    33. ";}
    34. ?>
    35. <tr><td>INFO:</td>
    36. <td><select name="id_klient">
    37. <?
    38.     $klid_query = mysql_query ("SELECT id, fio FROM Klient WHERE id NOT IN (SELECT id_klient FROM Blacklist)", $link);
    39.     while ($klid=mysql_fetch_array($klid_query)) { echo "<option value=".$klid[id].">
    40. ".$klid[fio]."</option>"; };
    41. ?>
    42. </select></td></tr>
    43. <tr><td colspan=2>
    44.     <input type="hidden" name="action" value="submitted" />
    45.     <input type="submit" name="submit" value="Занести до списку" />
    46. </td></tr>
    47. </form>
    48. <?php
    49. }}
    50. ?>
    51.  
    52.  
    Какие бы кнопки не нажимались - идет только добавление в БД. Запрос удаления просто не хочет выполнеяться. Ошибок php и mysql не выдаёт. В чем я не прав?
     
  2. unicross

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

    С нами с:
    14 янв 2009
    Сообщения:
    194
    Симпатии:
    0
    Условие никогда не будет выполнено. Название поля разное.

    Как только выполните эту строку - сразу выдаст...
    И вообще где вас такому научили?
    Надо
    Код (Text):
    1. $_POST['id_klient_b']
    или
    Код (Text):
    1. $_POST["id_klient_b"]
     
  3. Kreker

    Kreker Старожил

    С нами с:
    8 апр 2007
    Сообщения:
    5.433
    Симпатии:
    0
    Неее... плохая конструкция :)
     
  4. Lopar

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

    С нами с:
    18 янв 2009
    Сообщения:
    16
    Симпатии:
    0
    поменял. заработало. спасибо. пора спать пожалуй раз такие опечатки делаю и с час не замечаю...

    жизнь + вечная путаница в одинарных и двойных кавычках - чтобы они случайно ничего лишнего не закрыли - убираю их по максимуму. ошибки проскакивают весьма редко. вот и сейчас - mysql запрос сработал на ура и не пытался матюкаться.
     
  5. unicross

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

    С нами с:
    14 янв 2009
    Сообщения:
    194
    Симпатии:
    0
    PHP:
    Добавьте эту строку в начало скрипта и узнаете, что о вас думает интерпретатор...
     
  6. Lopar

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

    С нами с:
    18 янв 2009
    Сообщения:
    16
    Симпатии:
    0
    если бы интерпретаторы умели говорить то, что они думают о пользователях, то мы бы праздновали рождение исконно русского искусственного интеллекта, который бы крыл матом так, что все сапожники обзавидуются.... :)))