7
votes

Mettre à jour MySQL avec jQuery / ajax

J'essaie de créer une application mobile avec PhoneGap et JQuery Mobile. Dans mon application, j'ai une page où est un lien vers un fichier PHP qui met à jour MySQL et se dirige vers la page suivante. Mais avec PhoneGap, je dois avoir tous les fichiers PHP sur le serveur externe afin que je ne puisse pas trouver ma solution actuelle sur cette application.

Ceci est le PHP que j'utilise pour mettre à jour MySQL xxx

alors comment puis-je exécuter ce php lorsque l'utilisateur clique sur un bouton? Avec jquery / ajax je suppose?


2 commentaires

Pouvez-vous envoyer du code sur lequel vous appelez cette page PHP dans les applications.


Ceci est sujette à SQL injection. Ne jamais insérer directement les données fournies par l'utilisateur dans une requête sans les échapper.


4 Réponses :


1
votes

Dites que votre bouton a un identifiant clickme code> Vous liez un gestionnaire d'événements à ce sujet comme suit, je suis USNIG le sélecteur sur les cas où le code est exécuté lorsque le bouton n'existe pas sur la page. .. Vous pouvez très bien lier un Cliquez sur CODE> HANDER

$(document).on("click","#clickme",function(){
    $.ajax({

        type:"POST", //GET - update query should be POST
        url: my_endpoint.php,  //your php end point
        data: {jsonKey1:jsonValue1},
        success: function(data){ //if success
          //do necessary things with data
        }

    })
});


0 commentaires

9
votes

permet de dire que le code PHP ci-dessus est dans le fichier, update.php. Ensuite, vous pouvez utiliser le code suivant -

<head>
<script src="jquery.js"></script>
<script>
  function UpdateRecord(id)
  {
      jQuery.ajax({
       type: "POST",
       url: "update.php",
       data: 'id='+id,
       cache: false,
       success: function(response)
       {
         alert("Record successfully updated");
       }
     });
 }
</script>
</head>
<body>
<input type="button" id="button_id" value="Update" onClick="UpdateRecord(1);">
</body>


1 commentaires

Quoi qu'il en soit si vous passez, vous devez vous assurer que cela pointe sur un enregistrement valide dans la base de données. Assurez-vous également que «jquery.js» est présent dans votre dossier.



-1
votes

faire quelque chose dans votre fonction de réussite xxx

et que html doit contenir

et dans php faire quelque chose comme ça xxx


0 commentaires

3
votes
<head>
<script src="jquery.js"></script>
<script>
  function UpdateRecord(id)
  {
      jQuery.ajax({
       type: "POST",
       data: 'id='+id,     // <-- put on top
       url: "update.php",
       cache: false,
       success: function(response)
       {
         alert("Record successfully updated");
       }
     });
 }
</script>
</head>
<body>
<input type="button" id="button_id" value="Update" onClick="UpdateRecord(1);">
</body>
Those codes suggested by Sachyn Kosare does work, the only thing is that the line data: 'id='+id has to be on top of url: "update.php"And, you can use $var = $_POST['id']; for your PHP.

0 commentaires