Проверьте, был ли запрос успешным

0

Допустим, у меня есть таблица категорий, а затем у меня есть таблица продуктов.

Каждый продукт принадлежит к некоторой категории.

Теперь я хочу удалить категорию, назначенную некоторым продуктам.

Это вызовет ошибку, потому что я не могу удалить что-то из базы данных из-за связей с базой данных. Мой код ниже удаляет строку из таблицы (используя jquery), но она удаляет категорию для реального, только если она не использует ее.

Я пытаюсь создать предупреждение об ошибке, когда я нажимаю на значок " Delete и эта категория не может быть удалена. Как я могу это сделать? Я предпочел бы какое-то всплывающее окно jQuery с предупреждением, но я действительно не знаю, как я должен проверить ошибку в первую очередь.

EDIT: я пытался использовать echo 1; и echo 0; как response для ajax но я получаю предупреждающее сообщение каждый раз, когда хочу что-то удалить, даже если нет ошибки.

<tbody>
   <?php
   $cat_list = "SELECT * FROM games_category";
   $result = mysqli_query($conn, $cat_list);
   while($row = mysqli_fetch_assoc($result)) {
       $id = $row['id'];
       $name = $row['name'];
       ?>
       <tr>
           <td><?php echo $id; ?></td>
           <td><?php echo $name; ?></td>
           <td>
               <span class='delete_game_cat' id='del_<?php echo $id; ?>'><img src="../images/remove.png" alt="" title="Delete" class="icon"/></span>
           </td>
       </tr>
       <?php
   }
   ?>
</tbody>

Вот сценарий:

$(document).ready(function(){
   // Delete
   $('.delete_game_cat').click(function(){
       var el = this;
       var id = this.id;
       var splitid = id.split("_");

       // Delete id
       var deleteid = splitid[1];

       // AJAX Request
       $.ajax({
           url: 'delete_game_cat.php',
           type: 'POST',
           data: { id:deleteid },
           success: function(response){
                if(response===1){
                   // Removing row from HTML Table
                   $(el).closest('tr').css('background','tomato');
                   $(el).closest('tr').fadeOut(600, function(){
                       $(this).remove();
                   });
                }else{
                    alert("This category cannot be deleted!");
                }
           }
       });
   });
});

И sql-запрос:

$id = $_POST['id'];
$query = "DELETE FROM games_category WHERE id =".$id;

if(mysqli_query($conn, $query)){
    echo 1;
}else{
    echo 0;
}
Теги:
sql-delete
delete-row

1 ответ

0
$ver = mysqli_query($conn, $query);
if(!$ver)
{
    echo "Error MySQLI QUERY: ".mysqli_error($conn)."");
    die();
}
else
{
    echo "Query succesfully executed!";
} 

попробуй это

Ещё вопросы

Сообщество Overcoder
Наверх
Меню