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 :

[PHP-JS] Probl�me de variable PHP dans un script JS


Sujet :

JavaScript

  1. #1
    Membre �clair�
    Inscrit en
    Juin 2005
    Messages
    243
    D�tails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 243
    Par d�faut [PHP-JS] Probl�me de variable PHP dans un script JS
    Salut tout le monde !!

    Voil�, j'ai cr�� un formulaire SELECT (liste d�roulante) comprenant les famille des produits et j'aimerai que lorsque la personne s�lectionne une famille, le navigateur affiche sous la liste d�roulante les produits de cette famille. Voici mon code :


    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    while ($famProd = mysql_fetch_row($resu)) { 
                $Nom = $famProd[0]; 
                $num = $famProd[1]; 
                $inter = $inter. "<option selected value=$num>$nom <br> "; 
                $Choix = "  <select name=Famille> onChange = 'javascript:filltheselect(this.$num)' 
     
                          $inter 
                          </option> 
                      </select>";    
             }
    Code de la fonction :

    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
    function filltheselect ($numero) { 
     
          $req1 = "SELECT LibelléProduit from Produit where FamilleProduit_idFamilleProduit = $numero "; 
          $resu1 = mysql_query($req1); 
     
          if ($resu1) { 
             while ($Produit = mysql_fetch_row($resu1)){ 
                $Nom = $Produit[0]; 
                $code = " $nom"; 
                echo "$code";
     
     
             }    
     
          } 
     
     
       }
    L� �a ne peut pas marcher car on ne peut pas envoyer une variable PHP dans un script JS. Mais comment puis-je faire alors ??
    J'ai trouv� un lien int�ressant dans la FAQ du site mais il ne traitait pas mon cas pr�cis.

    Bref, un grand merci � ceux qui pourront m'aider parce que l� je bloc complet

  2. #2
    Membre Expert Avatar de Oluha
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    2 183
    D�tails du profil
    Informations personnelles :
    �ge : 42
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Novembre 2004
    Messages : 2 183
    Par d�faut
    comme tu l'as dis, javascript s'execute cot� client, php cot� serveur.

    Soit tu pr�charges toutes tes donn�es dans le javascript � l'appelle de la page, si tu n'en as pas beaucoup
    soit tu utilises la m�thode xmlhttprequest de javascript

  3. #3
    Membre �clair�
    Inscrit en
    Juin 2005
    Messages
    243
    D�tails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 243
    Par d�faut
    Merci beaucoup de ta r�ponse Oluha ! Je ne connaissais pas xmlhttprequest, �a � l'air tr�s puissant ! J'ai fait une recherche sur le net et j'ai trouv� un exemple utilisant cette technologie se rapprochant de ce que je souhaite faire, j'ai donc tester le source chez moi mais �a ne marche pas.

    Voici le code que j'ai trouv� sur le net :

    Code 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
    27
    28
    var l1    = f.elements["list1"];
    var l2    = f.elements["list2"];
    var index = l1.selectedIndex;
    if(index < 1)
       l2.options.length = 0;
    else {
       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", "species.php", true);
     
       xhr_object.onreadystatechange = function() {
          if(xhr_object.readyState == 4)
             eval(xhr_object.responseText);
       }
     
       xhr_object.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
       var data = "family="+escape(l1.options[index].value)+"&form="+f.name+"&select=list2";
       xhr_object.send(data);
    }

    Contenu de specifie.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
    16
    header('Content-type: text/html; charset=iso-8859-1');
     
    $mysql_db = @mysql_connect("sql.free.fr", "robloche", "********");
    @mysql_select_db("robloche");
     
    $query  = "SELECT `Species` FROM `Animals` WHERE `Family` = '".$_POST["family"]."'";
    $query .= " ORDER BY `Species`";
    $result = @mysql_query($query);
     
    echo 'var o = null;';
    echo 'var s = document.forms["'.$_POST["form"].'"].elements["'.$_POST["select"].'"];';
    echo 's.options.length = 0;';
    while($r = mysql_fetch_array($result))
    	echo 's.options[s.options.length] = new Option("'.$r["Species"].'");';
     
    @mysql_close($mysql_db);
    Ne connaissant rien du tout au JS et encore moins � xmlhttprequest j'ai mis le morceau de code JS dans un fichier html entre une balise <SCRIPT LANGUAGE="Javascript"> puis le second morceau de code dans un fichier PHP. Pensez vous que c'est cela qu'il fallait faire ?

    @ller, bonne soir�e !!

    PS : Si vous voulez voir se que ce code produit aller � : http://robloche.free.fr/javascript/tuto_xhr/tuto_xhr.html#section_05

Discussions similaires

  1. R�ponses: 5
    Dernier message: 14/06/2006, 16h35
  2. [PHP-JS] Passer une variable PHP->JS dans une boucle
    Par PedroBD dans le forum Langage
    R�ponses: 2
    Dernier message: 12/05/2006, 11h43
  3. [PHP-JS] Renseigner une variable php dans une fonction JS
    Par gwen-al dans le forum G�n�ral JavaScript
    R�ponses: 6
    Dernier message: 14/04/2006, 08h31
  4. R�cup�rer des variables Perl dans un script PHP
    Par barabath dans le forum Langage
    R�ponses: 2
    Dernier message: 10/04/2006, 01h27
  5. [PHP-JS] utiliser une variable php dans du javascript
    Par kcizth dans le forum G�n�ral JavaScript
    R�ponses: 2
    Dernier message: 06/02/2006, 11h53

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