2009-04-03 5 views
1

Je suis un vrai noob quand il s'agit de javascript/ajax, donc toute aide sera très appréciée. En ce qui concerne cette question:Passer les données à la base de données en utilisant javascript Onclick

Updating a MySql database using PHP via an onClick javascript function

Mais surtout préoccupé par la réponse donnée par Phill Sacre. Je me demande si quelqu'un pourrait nous expliquer comment nous sommes (si nous le pouvons?) En transmettant des valeurs/données à travers son exemple, en utilisant jquery. L'exemple de code laissé par lui est comme suit:

function updateScore(answer, correct) { 

     if (answer == correct) { 
$.post('updatescore.php'); 

    } 
} 

... 

<a onclick="updateScore(this, correct)" ...> </a> 

Dites par exemple, nous sommes désireux de passer un certain nombre de valeurs à la base de données avec php, quelqu'un pourrait me donner un exemple extrait de ce qui est nécessaire dans la fonction javascript? Ou élaborer sur ce qui est posté ci-dessus s'il vous plaît?

Merci encore à tous.

Répondre

1

L'exemple le plus simple auquel je puisse penser est celui-ci. Faites votre appel AJAX dans votre si bloc comme ceci:

$.get('updatescore.php', {'score': '222'}, function(d) { 
    alert('Hello from PHP: ' + d); 
}); 

Sur votre script "updatescore.php", faites juste que: mise à jour le score. Et retourner un texte brut indiquant si l'opération de mise à jour a réussi ou non.

Bonne chance.

P.S .: Vous pouvez également utiliser POST au lieu de GET.

+0

Merci d'avoir répondu. Il semble que ce soit ce que je suis après. À votre santé! – Lea

+1

Pas de problème. JQuery est vraiment bon pour AJAX. –

+0

Oui, je profite vraiment des avantages de l'utilisation de Jquery.Merci encore :) – Lea

0

Qu'est-ce que vous feriez est sur le côté serveur php avoir une page laisse dire son update.php. Cette page sera visitée par votre javascript dans une requête Ajax, prendre la demande et la mettre dans une base de données.

Le php pourrait ressembler à ceci:

<?php 
mysql_connect(...) 
mysql_query("INSERT INTO table 
(score) VALUES('$_GET["score"]') ") 

Votre javascript serait simplement préforme une demande de paiement ajax sur update.php et envoyer les variables comme obtenir une valeur « score ».

+0

Merci pour votre réponse! Je suis plutôt bon avec PHP, c'est juste le javascript que je n'ai pas encore trouvé. Mais merci de répondre de toute façon, cela pourrait être utile à quelqu'un d'autre qui voit cela :) :) – Lea

0

Phil ne transmet aucune valeur au script. Il envoie simplement une requête au script qui contient probablement une logique pour «mettre à jour» le score. Une personne avisée qui prend son test peut simplement regarder la source HTML et voir la réponse en vérifiant ce que fait l'ancre. Pour plus de détails sur sa solution, un ensemble de boutons radio doit être utilisé, et dans le formulaire, un bouton ou une sorte d'élément cliquable doit être utilisé pour envoyer les valeurs au serveur via une requête ajax, et le Les valeurs envoyées au serveur peuvent être analysées et l'état de la réponse renvoyé à la page.

Puisque vous utilisez jQuery, le code peut être fait discret comme on le voit dans l'exemple suivant:

$('#submit_answer').click(function() { 
    var answer = 'blah' // With blah being the value of the radio button 
    $.get('updatescore.php', 
    {'value': answer}, 
    function(d) { 
     alert('Your answer is: ' + d') // Where d is the string 'incorrect' or 'correct' 
    } 
}); 

Profitez.

+0

Salut, Merci pour votre réponse. Si vous pouviez trouver un moment pour vous référer à ce sujet, je vous serais très reconnaissant. Merci pour votre réponse! http://stackoverflow.com/questions/712566/updating-database-using-javascript – Lea

Questions connexes