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 :

requete mysql en js


Sujet :

JavaScript

  1. #1
    Débutant   Avatar de kaking
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    753
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2008
    Messages : 753
    Points : 262
    Points
    262
    Par défaut requete mysql en js
    bonjour tous le monde!

    'oilou, j'ai actuellement ceci en php

    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
    $i=$_GET['id'];
    $query=mysql_query("select * from req");
    $fetchy=mysql_fetch_array($query);
     
    if ((preg_match("#WHERE#", $fetchy['req1'])) ||
    (preg_match("#where#", $fetchy['req1'])) )
    $where='AND id > '.$i.' ORDER BY id asc LIMIT 0,1';
    else
    $where='where id > '.$i.' ORDER BY id asc LIMIT 0,1';
     
     
     
    $resultat_sql=mysql_query($fetchy['req1'].' '.$where);
    $gb=mysql_fetch_array($resultat_sql );
    $idsuiv=$gb['id'];
    et je voudrais mettre tous ca dans une fonction js du style
    req_suivante(id) ou a la fin $idsuiv soit une variable js et non php

    etant donné que je m'embrouille a chaque fois quand faut melanger js et php, cela est il donc possible?

    merci

  2. #2
    Membre expérimenté Avatar de DoubleU
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 106
    Points : 1 388
    Points
    1 388
    Par défaut
    Oui, en passant par ajax.

  3. #3
    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,
    une petite précision est nécessaire avant la réponse :
    pourquoi veux-tu faire ça, puisque c'est ton PHP qui lancera la requête ( = qui interrogera la BDD) ?
    En principe (et sans compter que JS n'est pas adapté pour le faire), c'est le serveur qui est censé faire l'interface entre le client et le SGBD ...

    A+

  4. #4
    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
    Citation Envoyé par DoubleU Voir le message
    Oui, en passant par ajax.
    Non.
    Ajax ne permet pas d'interroger une BDD en JS.
    Il permet uniquement à JS d'appeler une page PHP (qui, elle, fait bien ce qu'elle veut) qui lui retourne un résultat ...

    A+

  5. #5
    Débutant   Avatar de kaking
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    753
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2008
    Messages : 753
    Points : 262
    Points
    262
    Par défaut
    Oui, en passant par ajax.
    noooooooooooooooon!!!!!


    justement j'en veux pas!

    ce que je veux faire c'est justement recuperer l'id pour le mettre dans une fonction ajax!

    bon.

    actuellement, je clique sur un bouton, hop ajax===> direction une page via ajax...

    EST IL POSSIBLE

    de cliquer sur un bouton

    ajax vers une page ou je recupere $idsuiv=$gb['id'];

    ET ajax vers mon autre page avec la variable $idsuiv?




    oups j'avais pas vu les autres reponses...

    donc en fonction js c'est impossible?

  6. #6
    Membre expérimenté Avatar de DoubleU
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 106
    Points : 1 388
    Points
    1 388
    Par défaut
    Citation Envoyé par E.Bzz Voir le message
    Non.
    Ajax ne permet pas d'interroger une BDD en JS.
    Il permet uniquement à JS d'appeler une page PHP (qui, elle, fait bien ce qu'elle veut) qui lui retourne un résultat ...

    A+
    On est bien d'accord, mais au final ca revient au même.

    Citation Envoyé par kaking
    EST IL POSSIBLE

    de cliquer sur un bouton

    ajax vers une page ou je recupere $idsuiv=$gb['id'];

    ET ajax vers mon autre page avec la variable $idsuiv?
    Oui, en faisant 2 requetes:
    - la première recupère la valeur de $gb['id']
    - la 2e envoie cette valeur en paramètre

  7. #7
    Débutant   Avatar de kaking
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    753
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2008
    Messages : 753
    Points : 262
    Points
    262
    Par défaut
    mais je parle de faire ca dans la meme fonction....


    c'est a dire que je clique sur un bouton

    fonction qui envoie vers une page en ajax ou je peux calculer $idsuiv=$gb['id']

    PUIS la meme fonction envoie vers une autre page en ajax AVEC le $idsuiv=$gb['id'] en parametre?


    perso actuellement ca ne va que sur une page,
    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
    27
    28
    29
    30
    31
    32
    function makeRequest2(id) { 
     
            var xhr;
            if(window.XMLHttpRequest || window.ActiveXObject) {
                    if(window.XMLHttpRequest) {
                            xhr = new XMLHttpRequest();
                    } 
                    else {
                            try {
                                    xhr = new ActiveXObject("Msxml2.XMLHTTP");
                            } catch(e) {
                                    xhr = new ActiveXObject("Microsoft.XMLHTTP");
                            }
                    }
            }
            else {
                    alert("Votre navigateur ne supporte pas l'objet XMLHTTPRequest...");
                    return;
            }
     
            xhr.onreadystatechange = function() {
                    if(xhr.readyState == 4 && (xhr.status == 200 || xhr.status == 0)) {					  
    					  document.getElementById("apDiv21").innerHTML = xhr.responseText;
    					  mouseClic('onglet4');
                    }
            } 
     
     
            xhr.open("GET", "id_modif.php?id=" + id, true);
            xhr.send(null);
     
    }
    et je voudrais rajouter la variable $idsuiv=$gb['id'] a

    xhr.open("GET", "id_modif.php?id=" + id, true);

  8. #8
    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
    Citation Envoyé par DoubleU Voir le message
    On est bien d'accord, mais au final ca revient au même.
    Mouais ....

    Disons qu'il ne faut pas qu'il y ait d'ambigüité avec
    et je voudrais mettre tous ca dans une fonction js du style
    Si tu regardes "tout ça" (le code initial), ce n'est pas possible.

    A+

  9. #9
    Débutant   Avatar de kaking
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    753
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2008
    Messages : 753
    Points : 262
    Points
    262
    Par défaut
    bon daccord.
    ma methode est pourrie.
    trouverais bien aut'chose.


    merci

  10. #10
    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
    Citation Envoyé par kaking Voir le message
    mais je parle de faire ca dans la meme fonction....


    c'est a dire que je clique sur un bouton

    fonction qui envoie vers une page en ajax ou je peux calculer $idsuiv=$gb['id']

    PUIS la meme fonction envoie vers une autre page en ajax AVEC le $idsuiv=$gb['id'] en parametre?
    Ta question est donc : "Peut-on faire plusieurs appels Ajax dans une même fonction JS ?"

    C'est ça ?

    Si c'est ça, c'est oui (mais en synchrone, dans ton cas, puisque la 2° aura besoin du résultat de la 1°) ...

    A+

  11. #11
    Membre expérimenté Avatar de DoubleU
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 106
    Points : 1 388
    Points
    1 388
    Par défaut
    Si c'est ça, c'est oui (mais en synchrone, dans ton cas, puisque la 2° aura besoin du résultat de la 1°) ...
    Même en asynchrone, il te suffit de faire ta 2e requete dans le callback qui effectue le traitement de la première.

    Ceci étant, je suis pas sur de bien avoir compris ce que kaking voulait faire exactement

  12. #12
    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
    Citation Envoyé par DoubleU Voir le message
    Ceci étant, je suis pas sur de bien avoir compris ce que kaking voulait faire exactement
    +1


    EDIT
    Citation Envoyé par DoubleU
    Même en asynchrone, il te suffit de faire ta 2e requete dans le callback qui effectue le traitement de la première.
    C'était pour le côté "2 appels dans la fonction" ...
    Parce que sinon, le mieux est quand même de faire tout ça sur le serveur ... en une seule fois.

    A+

  13. #13
    Débutant   Avatar de kaking
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    753
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2008
    Messages : 753
    Points : 262
    Points
    262
    Par défaut


    a la base je voulais mettre ma requete php dans une fonction js puis prendre le resultat de cette fonction -idsuiv et le passer dans ma fonction ajax que je vous ai montré

    mais etant impossible de mettre ma requete sql en fonction js, faut passer par de l'ajax et la ca devient vachement compliqué, je trouverai donc aut'chose

    merci pour votre aide, je vais donc maintenant me tourner vers une autre methode ^^

  14. #14
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Dans la mesure où c'est pas la première fois que tu fais des confusions serveur/client, je pense qu'il serait bon que tu prennes ceci en compte :
    Lorsque tu appelles une page PHP, tu interroges le serveur, javascript ne peut pas être utilisé, PHP (toujours sur le serveur) crée ta page HTML et la renvoie vers ton navigateur, à partir de ce moment, PHP ne peut plus être utilisé, lorsque ta page est enfin affichée, là tu peux commencer à utiliser javascript MAIS PLUS PHP et encore moins MySQL !!!

  15. #15
    Débutant   Avatar de kaking
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    753
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2008
    Messages : 753
    Points : 262
    Points
    262
    Par défaut
    logique.....



    merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. résultat d'une requete mysql
    Par noinneh dans le forum MFC
    Réponses: 4
    Dernier message: 03/03/2005, 16h54
  2. arret requete mysql
    Par titiyo dans le forum Bases de données
    Réponses: 5
    Dernier message: 15/10/2004, 17h40
  3. Problème sous requete MySQL
    Par gavelin dans le forum Langage SQL
    Réponses: 3
    Dernier message: 20/07/2004, 10h36
  4. Requete MySql pour Mambo Open source
    Par azman0101 dans le forum Requêtes
    Réponses: 2
    Dernier message: 22/06/2004, 09h34

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