2016-12-19 1 views
2

Je suis conscient que cette question a été posée plusieurs fois, sous différentes formes .. Pour info, j'ai essayé de résoudre ce problème pendant plus de 5 heures et c'est me rend fou. Nouveau sur l'ensemble de la scène de programmation alors s'il vous plaît nu avec moi.MySQL/PHP/Ajax - Incrémenter la valeur MySQL sur click avec +1

Ce que je

Une URL comme ceci: http://localhost:8888/website/?key=ABC

Une table MySQL avec de nombreuses lignes, l'une avec une clé appelée ABC. J'ai un bouton que je veux que les utilisateurs à cliquer (upvote) la ligne MySQL correspondant à key=ABC.

<a href="" onclick="increment()"></a> 

Dans mes scripts.js J'ai ce (incomplet?) Code Ajax:

function increment() { 
    $.ajax({ 
     type: 'POST', 
     url: '../js/ajax.php', 
     success: function(data) { 
      alert("function saved: " + data); 
     } 
    }); 
} 

Et mon ajax.php ressemble à ceci:

<?php 
    if (isset($_GET['key']) { 
     $rowKEYtest = $_GET['key']; 
     $sql2 = "UPDATE database SET Score = Score + 1 WHERE UniqueKey = '$rowKEYtest'"; 
     $conn->query($sql2); 
    } else { 
     echo "lol"; 
    } 
?> 

Il est pas de mise à jour .. Je n'ai aucune idée de ce qu'il faut faire.

Merci beaucoup pour votre temps!

Répondre

3

Veuillez jeter un oeil dans votre code, Il y a 2 erreurs.

1. In your ajax call you are using type: 'POST', you should use GET. 
2. You are nor parsing your 'key' param in ajax call. 

En fait, vous utilisez la méthode POST en ajax mais ajax.php essayer d'obtenir la valeur avec la méthode GET. deuxième chose que vous ne passez pas de param dans un appel ajax.

Espérons que cela aidera.

+1

merci pour la réponse, mais je ne peux pas le résoudre .. J'ai ce code maintenant. '$ ("# vote-up q") click (function() { \t \t .ajax $ ({ \t \t \t Type: 'GET', \t \t \t url: '../js/ajax.php', \t \t \t données: {l'action: 'key'}, \t \t \t succès: function (données) { \t \t \t \t alert ("fonction enregistrée:" + données); \t \t \t} \t \t}); \t}); ' – JuliusSecret