7
votes

Supprimer des enregistrements de la base de données avec une demande AJAX

J'utilise php / mysql et protype.js pour supprimer un enregistrement d'une table. Le problème est que l'enregistrement de la base de données n'est pas supprimé.

index.php: xxx

script est xxx < p> delete.php xxx

alerte ("id:" id); fonctionne correctement mais le code après cela n'est pas.


1 commentaires

+1 Même si simple, bien expliqué. ;-)


3 Réponses :


9
votes

Vous utilisez une demande d'obtention, de JS:

var myAjax = new Ajax.Request(
  'delete.php',
  {
    method: 'post',
    parameters: 'action=' + id
  });


4 commentaires

ok chérie j'ai fait {Méthode: "Post"} et PHP File $ ID = $ _Post ['ID']; Mais il n'y a pas de travail


Vous devez également modifier la façon dont le paramètre est passé: si vous utilisez maintenant POST, le paramètre ne doit pas être transmis dans l'URL, mais à l'aide de l'option «Paramètres»; Voir prototypejs.org/api/ajax/request et prototypejs.org/aplia/ajax/option pour plus d'informations


OK maintenant, l'enregistrement peut être supprimé mais j'ai besoin d'actualiser la page, de voir les modifications. Alors, comment puis-je coder pour supprimer cet enregistrement de la page en cours? La réponse du serveur serait BOOL afin que nous puissions déterminer que l'enregistrement est supprimé ou non. Pouvez-vous m'aider à développer cela ??


Bonjour, c'est une question assez différente (vous voudrez peut-être vous poser une autre question); Vous avez au moins deux possibilités: supprimez quelque chose (la ligne correspondant à un étudiant) de la DOM, dans Pure JS, après la fin de l'appel Ajax; ou modifier votre script PHP afin qu'il renvoie un tas de HTML que vous utiliserez pour mettre à jour une partie de la page (comme la liste des étudiants) de la page à la fin de l'appel AJAX - lequel vous choisissez dépend du moins de la complexité de la complexité de ta page ; Par exemple, vous voudrez peut-être prendre en compte des choses comme la pagination ...



0
votes

Il semble que votre demande Ajax utilise, obtenez-vous, mais votre script de suppression tente de récupérer l'ID via Post. Essayez de paramétrer {méthode: 'get'} à {méthode: 'post'}} . .


1 commentaires

ok chérie, j'ai fait {Méthode: "Post"} à {Méthode: "Poste"}. Mais il n'y a pas de résultat



0
votes

Modifier delete.php comme ceci:

<?php
      /* Database connection */
      include('configuration.php');
      echo "hello,...";
      if(isset($_GET['id'])){
          $ID = $_GET['id'];
          $sql = 'DELETE FROM student where id="'.$ID.'"';
          mysql_query($sql);
      } 
      else { echo '0'; }
     ?>


1 commentaires

Ok frère, maintenant enregistrement peut être supprimé mais j'ai besoin d'actualiser la page, de voir les modifications. Alors, comment puis-je coder pour supprimer cet enregistrement de la page en cours? La réponse du serveur serait BOOL afin que nous puissions déterminer que l'enregistrement est supprimé ou non. Pouvez-vous m'aider à développer cela ??