IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

[AJAX] requete SQL avec une fonction javascript


Sujet :

JavaScript

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 5
    Points : 5
    Points
    5
    Par défaut [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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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.

  2. #2
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Points : 36 571
    Points
    36 571
    Par défaut
    Bonjour,
    Citation Envoyé par Mitsu78 Voir le message
    Cela rend l'insertion la modification et la suppression de table très dynamique!
    Oui, mais ça rend aussi le code beaucoup moins propre

    Il est très fortement conseillé de séparer la partie client de la partie serveur, ainsi que (dans la mesure du possible) la partie serveur de la partie BDD.

    Or, là tu te retrouves avec du code "BDD" dans la partie client => pas glop !

    L'avantage de la séparation préconisée est que lorsque tu travailles sur une des parties, tu n'as pas à te soucier du fonctionnement des 2 autres : tu n'as à tenir compte que des formats des entrées et sorties.

    Il serait donc plus "propre" que ton Ajax envoies en paramètre "insertion", et que ta page PHP, en fonction de ce paramètre, choisisse la bonne requête à exécuter.

    Mais ceci dit, tu as raison, Ajax est très puissant

    (à condition de ne pas "faire de l'Ajax pour faire de l'Ajax")

    A+
    Pour tout savoir sur l'utilisation du forum

    En postant votre message, n'oubliez pas les Règles du Club.

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 5
    Points : 5
    Points
    5
    Par défaut
    Merci de ta réponse,
    mmh je ne saurais te dire quel méthode est la meilleurs cependant je suis d'accord avec toi sur le fait qu'il ne faut pas faire de l'ajax pour faire de l'ajax.
    Enfin moi ce qui m'gêne, c'est que le référencement d'un site full ajax est quasi impossible et que cela casse le bouton précédent (c'est pour ca qu'il faut que le site sois bien conçu au niveau de l'ergonomie). Mais pour faire des petite application cela peut être très sympa.

Discussions similaires

  1. Creer une requete SQL avec la fonction PIVOT
    Par SALIA LOUA OLIVIER dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 09/10/2013, 15h35
  2. requete SQl avec la fonction max () qui ne marche pas
    Par eclipse012 dans le forum Langage SQL
    Réponses: 2
    Dernier message: 09/11/2006, 14h32
  3. Initialiser un champ texte avec une fonction javascript
    Par Agoye dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 20/06/2006, 11h26
  4. problème avec une fonction javaScript
    Par volthur dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 16/05/2006, 18h04
  5. Requete SQL avec une clause FROM variable
    Par aCe_GiK dans le forum Requêtes et SQL.
    Réponses: 8
    Dernier message: 11/04/2006, 13h45

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo