2015-01-27 3 views
0

У меня есть следующие коды:как удалить из строки базы данных, выбранного с помощью JQuery

файл lecturer.php:

$(document).ready(function(){ 
      $(".use-address").click(function() { 
      var $row = $(this).closest("tr"); // Find the row 
      var names = $row.find(".name").text(); // Find the name 
      var surname = $row.find(".surname").text(); // Find the surname     

       $.ajax({ 
        type: "POST", 
        url: "delete_lecturer.php", 
        data:{ x: names, y: surname} 
       }); 

      }); 

     }); 

файл delete_lecturer.php:

<?php 

ob_start(); //eliminates buffer collisions 
    require_once('connect_db.php'); 
    if (!empty($_POST['x'])){ $name = $_POST['x']; } 
    if (!empty($_POST['y'])){ $surname = $_POST['y']; } 
    $result = pg_query(connect(), "delete from lecturer where name='$name' and surname='$surname'");  
    echo "did it"; 
    //dump the result object 
    var_dump($result); 
    // Closing connection 

    //reloading the page 
    header("location: lecturer.php?fail=2"); 
?> 

Файл connect_db. php works (я тестировал его с другими файлами, требующими его). Я пытаюсь получить имя и фамилию из таблицы, передать ее в файл delete_lecturer.php и удалить строки, соответствующие моему выбору из базы данных. Имя и фамилия в коде jquery хранятся правильно (я тоже проверил это).

Но код все еще не работает. Любые идеи, что не так или как это исправить? Кстати, im использует postgresql для базы данных.

+0

Является ли ваша консоль, показывая вам некоторые какая ошибка после выполнения этой функции? Или напишите код как успех (msg) и сбой (msg) после выполнения ajax, не делайте «заголовок» – DarkteK

+0

Я попробую ваше предложение, спасибо. Но пока он не будет показывать никаких ошибок. –

+0

Вы также можете попробовать, перед отправкой данных «имена» и «фамилия» выполните команду console.log() для этих двух переменных, чтобы проверить, содержат ли они что-то в – DarkteK

ответ

1

Вы можете сделать этот код:

  $.ajax({ type: "POST", 
       url: "delete_lecturer.php", 
       data: { x: names, y: surname} 
      }) 

      .done(function(msg) { 
       msg = $.trim(msg); 
       // Use alert or console.log() 
       alert(msg); 
       console.log(msg); 
      }) 
      .fail(function(msg) { 
       // Use alert or console.log() 
       alert(msg); 
       console.log(msg); 
      }); 

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

+1

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

+0

Хорошо, как только вы можете оценить свой ответ, если помогли вам закрыть этот вопрос, и прокомментируйте, если вы хотите в конце узнать, как вы исправили свою проблему. – DarkteK

+1

Конечно. На данный момент, поскольку строки, которые я удалял, содержали ключ, указанный в двух других таблицах, он не позволил мне удалить его с помощью этого запроса. Журнал, который вы мне предложили, сказал мне об этом. Я не думал об этом. –

Смежные вопросы