2017-09-26 1 views
0

Je veux créer supprimer fonction en utilisant la fonction et jquerySupprimer la ligne de MySQL en utilisant jquery et php

Mes œuvres jquery et des messages spectacle, mais rien ne se passe "Rien Deleted"

Jquery code

<script type="text/javascript"> 
$(".remove").click(function(){ 
    var id = $(this).parents("tr").attr("id"); 

    if(confirm('Are you sure to remove this record?')) 
    { 
     $.ajax({ 
      url: 'delete.php', 
      type: 'GET', 
      data: {id: id}, 
      error: function() { 
       alert('Something is wrong'); 
      }, 
      success: function(data) { 
       $("#"+id).remove(); 
       alert("Record removed successfully"); 
      } 
     }); 
    } 
}); 

PHP code Fonction

function delete($table,$id) { 
    global $connect; 
    mysqli_query($connect, "DELETE FROM `$table` WHERE `id` = $id "); 
} 

delete.php code

include ('function.php'); 
$id = $_GET['id']; 
$table = 'msg'; 
delete($table,$id); 

Code HTML

<table class="table table-striped" style="background-color: #ffffff;"> 
    <tr> 
     <th>ID</th> 
     <th>From</th> 
     <th>Title</th> 
     <th>Date</th> 
     <th>Action</th> 
    </tr> 
    <?php 
    $i  = '1'; 
    $username = $user_data['username']; 
    $query = "SELECT * FROM msg WHERE `go_to` = '$username' Order by id"; 
    $result = mysqli_query($connect, $query); 

    while($row = mysqli_fetch_assoc($result)) 
    { 
     ?> 
     <tr> 
      <td><?php echo $i++; ?></td> 
      <td><?php echo $row['come_from']; ?></td> 
      <td> 
       <a href="read_message/<?php echo $row['id']; ?>"><?php if(count_msg_not_opened($username, $row['id']) > '0') 
        { 
         echo $row['title']; 
        } 
        else 
        { 
         echo '<b>' . $row['title'] . '</b>'; 
        } ?></a></td> 
      <td><?php echo $row['date']; ?></td> 
      <td> 
       <button class="btn btn-danger btn-sm remove">Delete</button> 
      </td> 
     </tr> 
    <?php } ?> 
</table> 

Je ajoute aussi "jquery.min.js"

Lorsque j'appuie sur fond "Supprimer" ce message apparaît « Êtes-vous sûr de supprimer cet enregistrement? "

J'ai appuyé sur "Oui" puis ce message apparaît "Enregistrement supprimé avec succès", mais rien n'a été effacé.

Je ne sais pas où est le problème.

+0

Il n'y a rien dans le code PHP qui vérifie si 'DELETE' a réussi ou si quelque chose a été supprimé. – Barmar

+0

Vous pouvez faire encore mieux. Si vous passez '0; drop table msg; 'en tant qu'ID, toutes vos lignes seront supprimées à la fois! N'utilisez pas mysqli. Déjà. Utilisez plutôt PDO et lisez les injections SQL. http://php.net/manual/fr/book.pdo.php – Peter

+0

@Peter Non, ce ne sera pas le cas. Vous devrez appeler 'mysqli_multi_query()' pour que cela fonctionne. – Barmar

Répondre

1

Vous avez oublié d'ajouter à votre code PHP l'attribut id au <tr>

<tr id="<?php echo $row['id']; ?>"> 

Vous devez également ajouter la vérification des erreurs et des instructions préparées.

0

Etes-vous sûr d'avoir connecté votre code PHP à votre base de données SQL?

function delete($table,$id) { 
global $connect; 
mysqli_query($connect, "DELETE FROM `$table` WHERE `id` = $id "); 
} 

Le code ci-dessus repose sur une connexion déjà existante dans votre fichier PHP. Voir this pour savoir comment appliquer une connexion.