Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1461 connectés 

  FORUM HardWare.fr
  Programmation
  HTML/CSS

  Problème de variable PHP dans un script JS

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Problème de variable PHP dans un script JS

n°1172582
soad029
Posté le 08-08-2005 à 16:18:15  profilanswer
 

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 :
  1. while ($famProd = mysql_fetch_row($resu)) {
  2.             $Nom = $famProd[0];
  3.             $num = $famProd[1];
  4.             $inter = $inter. "<option selected value=$num>$nom <br> ";
  5.             $Choix = "  <select name=Famille> onChange = 'javascript:filltheselect(this.$num)'
  6.                       $inter
  7.                       </option>
  8.                   </select>";   
  9.          }


 
Code de la fonction :  
 
 
 

Code :
  1. function filltheselect ($numero) {
  2.        
  3.       $req1 = "SELECT LibelléProduit from Produit where FamilleProduit_idFamilleProduit = $numero ";
  4.       $resu1 = mysql_query($req1);
  5.        
  6.       if ($resu1) {
  7.          while ($Produit = mysql_fetch_row($resu1)){
  8.             $Nom = $Produit[0];
  9.             $code = " $nom";
  10.             echo "$code";
  11.    
  12.              
  13.          }   
  14.          
  15.       }
  16.        
  17.    
  18.    }


 
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

mood
Publicité
Posté le 08-08-2005 à 16:18:15  profilanswer
 

n°1172588
afbilou
pouet your life
Posté le 08-08-2005 à 16:23:10  profilanswer
 

Tu as un manque de rigueur evident ... et cela n'a rien a voir avec le manque de pratique que tu as certainement si tu debutes. Ton premier bloc de code est un ensemble de balises mal formées, mal fermées et qui se chevauchent.

n°1172595
soad029
Posté le 08-08-2005 à 16:27:08  profilanswer
 

En effet, je débute, le code est mal indenté mais marche toutefois (sauf l'appel de la fonction car c'est impossible de faire ce que je fais, mais je vois pas comment faire).

n°1172596
xtof_83
Freeride Spirit
Posté le 08-08-2005 à 16:27:08  profilanswer
 

C'est vrai il y a du bon mélange de grand mére..
 
-> <select>
     <option value></option>
   </select>
 
Ce sera déja mieux

n°1172930
soad029
Posté le 09-08-2005 à 09:23:48  profilanswer
 

Non non, j'ai bien fait :
<select>  
     <option value></option>  
   </select>  
 
seulement la variable de l'option est déclaré avant la syntaxe. Bref, le problème ne viens pas de là de toute façon...  
 
Personne ne peut m'aider SVP ?!?

n°1172950
xtof_83
Freeride Spirit
Posté le 09-08-2005 à 10:18:19  profilanswer
 

Tu es pas obligé de faire en JS les fonctions en PHP sa existe et sa marche...

n°1172980
soad029
Posté le 09-08-2005 à 11:11:30  profilanswer
 

Non non, il me semble que le JS est obligatoire car on doit recharger la page en PHP, hors, il faut qu'en sélectionnant une ligne dans une liste cela entraine l'insertion de lignes dans une autre liste. Il me semble que pour réaliser une telle opération il faut utiliser "onChange"

n°1173004
xtof_83
Freeride Spirit
Posté le 09-08-2005 à 11:31:43  profilanswer
 

Ouaip...

n°1173134
bl@p_psx
Admin G15-france
Posté le 09-08-2005 à 13:10:49  profilanswer
 

http://developpeur.journaldunet.co [...] iste.shtml
 
par exemple.
 
Dans ta page, tu doit faire une requette en php qui vas te permetre de remplir les tableaux JS ...
 
@+


---------------
:Moultiplayers:.:Quatuor Chevalier:.:Admin G15-france.com:.:Wiki -G15-france:.:-Papa-:.
n°1173196
j_lecruel
☀ ☁ ☂
Posté le 09-08-2005 à 14:11:33  profilanswer
 

C'est pour un intranet...?

mood
Publicité
Posté le 09-08-2005 à 14:11:33  profilanswer
 

n°1173215
soad029
Posté le 09-08-2005 à 14:18:49  profilanswer
 

Non non J_lecruel, c'est pour un site Internet. Si t'es dans la parage bl@p, comment on remplie un tableau JS avec du PHP, sinon je file chercher la réponse sur le net, en tout cas merci du lien, il m'a l'air parfait !

n°1173326
soad029
Posté le 09-08-2005 à 15:49:59  profilanswer
 

Bon bon bon... J'ai trouvé un lien intéressant pour remplir un tableau javascript avec PHP :
 

Code :
  1. script>
  2. var t=new Array();
  3. <? for($i=0;$i<sizeof($result);$i++) echo "t[$i]=".$result[$i].";\n";?>
  4. </script>


 
et l'on obtient :
 

Code :
  1. <script>
  2. var t=new Array();
  3. t[0]="contenu0";
  4. t[1]="contenu1";
  5. t[2]="contenu2";
  6. etc...
  7. </script>


 
Par conséquent j'ai donc fait  
 

Code :
  1. $req1 = "SELECT `LibelléProduit` FROM `Produit` WHERE `FamilleProduit_idFamilleProduit` = '".$code."'";   
  2. $result = mysql_num_rows($req1);


 
mais ma variable $code est vide, il faudrait qu'elle contienne le résultat du "value" de la ligne sélectionné dans la première liste, mais la question est "Comment faire ?"
 
J'ai beau cogiter, je vois pas  :cry:

n°1173671
plainsofpa​in
Pingouino's lover
Posté le 10-08-2005 à 08:36:53  profilanswer
 

Montre ton code en entier, je crois que tu as des problèmes de compréhension entre les niveaux d'exécution coté serveur et coté client.


---------------
http://www.alsacreations.com , http://www.openweb.eu.org. Mon CV : http://cv.roane-irkana.net/. Exemple à ne surtout pas suivre : www.worldinternet.be
n°1173698
soad029
Posté le 10-08-2005 à 09:31:55  profilanswer
 

Je vous donnes quelques détails avant quand même.
J'ai utiliser le code que j'ai trouvé sur le lien de bl@p_psx (d'ou les noms 'ChoixPays'...). J'utilise des modules donc en gros il faut que tout mon code soit dans la variable $CONTENTSTRING_FULL. la variable $Choix contient ma première liste.  
 

Code :
  1. <?
  2. $req = 'SELECT idFamilleProduit, LibelléFamille from FamilleProduit where MacroFamille_idMacroFamille = 1 ORDER BY LibelléFamille';
  3. $resu = mysql_query($req);
  4.       $k = 0;
  5.       $inter = $CONTENTSTRING_FULL;
  6.       if ($resu) {
  7.          while ($famProd = mysql_fetch_row($resu)) {
  8.           $num = $famProd[0];
  9.             $nom = $famProd[1];
  10.             $inter = $inter. "<option selected value=$num>$nom <br> ";
  11.             $Choix = "  <select name='choixPays' onChange='remplirVilles(this.options[this.selectedIndex].value);'>
  12.                       $inter
  13.                       </option>
  14.                   </select>"; //remplirVille   
  15.          }
  16.       }
  17.  
  18. $script="<script language='JavaScript'>
  19. function verif()
  20.   {
  21.   if (document.layers)
  22.     {
  23.     formulaire = document.forms.monFormulaire;
  24.     }
  25.   else
  26.     {
  27.     formulaire = document.monFormulaire;
  28.     }
  29.   }
  30. function verifChoixPays()
  31.   {
  32.   verif();
  33.   if (formulaire.choixPays.value == '0')
  34.     {
  35.     alert('Vous devez tout d\'abord choisir un pays!');
  36.     formulaire.choixPays.focus();
  37.     }
  38.   }
  39. var villes = new Array();
  40. villes[0] = new Array();
  41. villes[1] = new Array('Paris', 'Lyon', 'Marseille')
  42. villes[2] = new Array('Londres', 'Manchester', 'Liverpool')
  43. villes[3] = new Array('Berlin', 'Stutgart', 'Munich')
  44. function remplirVilles(code)
  45.   {
  46.   verif();
  47.   var lesVilles = villes[code];
  48.  
  49.   if (code>0)
  50.     {
  51.     formulaire.choixVille.options.length = lesVilles.length;
  52.     for (i=0; i<lesVilles.length; i++)
  53.       {
  54.       formulaire.choixVille.options[i].value = lesVilles[i];
  55.       formulaire.choixVille.options[i].text = lesVilles[i];
  56.       }
  57.     document.monFormulaire.choixVille.options.selectedIndex = 0;
  58.     }
  59.   else
  60.     {
  61.     formulaire.choixVille.options.length = 1;
  62.     formulaire.choixVille.options[0].value = 0;
  63.     formulaire.choixVille.options[0].text = '-- choisissez une ville';
  64.     }
  65.   }
  66. </script>       
  67. <form name='monFormulaire'>
  68. $Choix
  69. <br>
  70. <br>
  71. <select name='choixVille' onFocus='verifChoixPays();'>
  72. <option value='0' selected>-- choisissez une ville</option>
  73. </select>
  74. </form>";
  75. $val = "<script language='JavaScript'>document.getElementById('choixPays') .option[0]</script>";
  76. $req1 = "SELECT `LibelléProduit` FROM `Produit` WHERE `FamilleProduit_idFamilleProduit` = '".$val."'";   
  77.  //$result = mysql_num_rows($req1);
  78.  
  79.    
  80.       $CONTENTSTRING_FULL = "<b><h1>$code Matériels d'occasions</h1></b><br><br><div align='center'> Type de produit : \t </div><div align='center'> $script</div>$val";
  81. ?>


En gros j'ai deux solutions, soit j'arrive à remplir un tableau javascript en PHP, ou soit j'arrive à mettre dans une variable php la 'value' de ma liste sélectionné.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  HTML/CSS

  Problème de variable PHP dans un script JS

 

Sujets relatifs
comment creer un script pour faire des commandes sur mon sitescript vbs dans page php
petit problemePHP 4 + class ... otez moi un doute
PHP/AS...Un script pour modifier des pages
Comment inclure une variable dans une requête SQL ?un script qui défile...
Problème de mise en page css html IE/firefoxProblème de sérialisation
Plus de sujets relatifs à : Problème de variable PHP dans un script JS


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR