[AJAX] requete SQL avec une fonction javascript
Bonjour,
Ce topic est là parce que j'ai trouver un truc sympa pour faire des requête SQL rapidement en ajax de cette maniere :
onclick="execuleSQL('INSERT INTO tbl VALUES(..."
De cette manière par exemple si vous voulez faire une requete sql en ajax qui par exemple inscrit un nouveau membre dans votre base de donnée, vous n'êtes pas obliger de créer une fonction javascript et une page de traitement php seulement pour inscrire un membre, et faire encore une autre page et fonction pour inscrire autre chose dans votre bdd.
voici le code, la fonction javascript :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
|
function executeSQL(sql){
var xhr_object = null;
if(window.XMLHttpRequest) // Firefox
xhr_object = new XMLHttpRequest();
else if(window.ActiveXObject) // Internet Explorer
xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
else { // XMLHttpRequest non supporté par le navigateur
alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
return;
}
xhr_object.open("POST", "traitement.php", true);
xhr_object.onreadystatechange = function() {
if(xhr_object.readyState == 4) {
alert('envoi réussi'); //Juste pour tester si cela à bien marcher =)
}
}
xhr_object.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
var data = "sql="+sql;
xhr_object.send(data);
} |
Et ci dessous le code de la page traitement.php :
Code:
1 2 3 4 5 6 7 8 9 10 11 12
|
<?php
$serveur='localhost';
$user='root';
$pwd='';
$bdd='bdd';
$sql=stripslashes($_POST[sql]);
mysql_connect($serveur,$user,$pwd);
mysql_select_db($bdd);
mysql_query($sql);
mysql_close();
?> |
Et voici ci dessous un exemple simple d'utilisation :
Code:
1 2 3
|
<input type="text" id="msg">
<input type="button" value="Envoyer" onclick="javascript:executeSQL('INSERT INTO chat VALUES(\'\',\''+document.getElementById('msg').value+'\')');" /> |
cela envoi donc la valeur de l'input à ma base de donnée facilement =)
Cela rend l'insertion la modification et la suppression de table très dynamique!
Bon malheureusement pour l'affichage je n'ai pas encore de solution.
Voila, vous en pensez quoi? je suis bien content d'avoir trouver ce petit truc en tous cas lol, enfin bon je suppose que d'autre ont déja penser à faire ca mais bon.