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

  FORUM HardWare.fr
  Programmation
  HTML/CSS

  Contenu d'une liste en fonction d'une autre le tout dynamiquement

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Contenu d'une liste en fonction d'une autre le tout dynamiquement

n°1343451
Alexandre5​8
Posté le 10-04-2006 à 19:04:18  profilanswer
 

Bonjour,
J'aimerais afficher une liste en fonction d'une autre sachant que chaque liste à un contenu issu d'une base mysql donc dynamique. Pour cela j'ai trouver un script que voila :
 

Code :
  1. <SCRIPT LANGUAGE="JavaScript">
  2. function ModifierListe(code_item) {
  3. lg = document.frmDemo1.zlItem.length;
  4. // On vide la liste
  5. for (i = lg - 1; i >= 0; i--) {
  6. document.frmDemo1.zlItem.options[i] = null;
  7. }
  8. code_rub = document.frmDemo1.zlRubrique.selectedIndex;
  9. <?php
  10. // Génération des Items par Rubriques
  11. $sql = "SELECT code FROM demo_rubrique ORDER BY code";
  12. $resultat = mysql_db_query($dbName, $sql);
  13. $max_lignes = 0;
  14. $option_max = '';
  15. while ($enr = mysql_fetch_array($resultat)) {
  16. $sql = "SELECT code, item ";
  17. $sql .= "FROM demo_item ";
  18. $sql .= "WHERE code_rub='".$enr[0]."'";
  19. $sql .= "ORDER BY item";
  20. $resultat2 = mysql_db_query($dbName, $sql);
  21. echo " if (document.frmDemo1.zlRubrique.options[code_rub].value == ".$enr[0]." ) {\n";
  22. echo " document.frmDemo1.zlItem.length = ".(mysql_num_rows($resultat2)).";\n";
  23. $cpt = 0;
  24. while ($enr2 = mysql_fetch_array($resultat2)) {
  25. echo " document.frmDemo1.zlItem.options[".$cpt."].value = ".$enr2[0].";\n";
  26. echo " document.frmDemo1.zlItem.options[".$cpt."].text = \"".$enr2[1]."\";\n";
  27. echo " if (code_item == ".$enr2[0]." ) document.frmDemo1.zlItem.options[".$cpt."].selected = true;\n";
  28. $cpt++;
  29. if ($cpt > $max_lignes) $max_lignes = $cpt;
  30. if (strlen($enr2[1]) > strlen($option_max)) $option_max = $enr2[1];
  31. }
  32. echo " }\n";
  33. }
  34. ?>
  35. }
  36. </SCRIPT>
  37. <?php
  38. // ----------------------------------------------------------------------------
  39. // Liste Rubriques
  40. // ----------------------------------------------------------------------------
  41. $sql = "SELECT code, rubrique FROM demo_rubrique ORDER BY rubrique";
  42. $resultat = mysql_db_query($dbName, $sql);
  43. echo "<FORM METHOD=POST NAME='frmDemo1'>";
  44. echo "<BR> <B>Rubriques</B> ";
  45. echo " <SELECT NAME='zlRubrique' onChange='ModifierListe(-1)'>\n";
  46. if (!isset($zlRubrique)) $zlRubrique = - 1;
  47. while ($enr = mysql_fetch_array($resultat)) {
  48. echo "<OPTION VALUE='".$enr[0]."'";
  49. if ($zlRubrique == $enr[0]) echo " SELECTED";
  50. echo ">".htmlspecialchars($enr[1])."</OPTION>\n";
  51. }
  52. echo "</SELECT> \n";
  53. // ----------------------------------------------------------------------------
  54. // Liste Items
  55. // ----------------------------------------------------------------------------
  56. echo " <B>Items</B> ";
  57. echo " <SELECT NAME='zlItem'>\n";
  58. for ($cpt = 0; $cpt < $max_lignes; $cpt++)
  59. echo "<OPTION>".ereg_replace(".", "--", $option_max)."</OPTION>\n";
  60. echo "</SELECT> \n";
  61. if (!isset($zlItem)) $zlItem = -1;
  62. echo "<SCRIPT LANGUAGE='JavaScript'>\n;ModifierListe(".$zlItem." );\n</SCRIPT>\n";
  63. // ----------------------------------------------------------------------------
  64. echo "<INPUT TYPE='submit' VALUE='Valider'>\n";
  65. echo "</FORM>";
  66. // ----------------------------------------------------------------------------
  67. // Résultats des sélections
  68. // ----------------------------------------------------------------------------
  69. echo "Sélection :<BR>\n";
  70. if (isset($zlRubrique) && $zlRubrique != "" ) {
  71. $sql = "SELECT rubrique FROM demo_rubrique WHERE code='".$zlRubrique."'";
  72. $resultat = @mysql_db_query($dbName, $sql);
  73. $enr = @mysql_fetch_array($resultat);
  74. echo "Rubrique = $zlRubrique [$enr[0]]<BR>\n";
  75. }
  76. if (isset($zlItem) && $zlItem != "" && $zlItem != -1) {
  77. $sql = "SELECT item FROM demo_item WHERE code='".$zlItem."'";
  78. $resultat = @mysql_db_query($dbName, $sql);
  79. $enr = @mysql_fetch_array($resultat);
  80. echo "Item = $zlItem [$enr[0]]<BR>\n";
  81. }
  82. ?>


 
Voila ce que ça fait :
http://www.**********/test2.php
 
Jusqu'a maintenant aucuns probléme.
 
J'ai ensuite repris ce script en modifiant uniquement les tables ainsi que les champs en voici le code :
 

Code :
  1. <? include("config.php" ); $dbName ="zestuden"; ?><SCRIPT LANGUAGE="JavaScript">
  2. function ModifierListe(code_item) {
  3. lg = document.frmDemo1.zlItem.length;
  4. // On vide la liste
  5. for (i = lg - 1; i >= 0; i--) {
  6. document.frmDemo1.zlItem.options[i] = null;
  7. }
  8. code_rub = document.frmDemo1.zlRubrique.selectedIndex;
  9. <?php
  10. // Génération des Items par Rubriques
  11. $sql = "SELECT * FROM ze_etablissement ORDER BY nom";
  12. $resultat = mysql_db_query($dbName, $sql);
  13. $max_lignes = 0;
  14. $option_max = '';
  15. while ($enr = mysql_fetch_array($resultat)) {
  16. $sql = "SELECT * ";
  17. $sql .= "FROM ze_etablissement_section ";
  18. $sql .= "WHERE idetablissementcorrespondant='".$enr[0]."'";
  19. $sql .= "ORDER BY nom";
  20. $resultat2 = mysql_db_query($dbName, $sql);
  21. echo " if (document.frmDemo1.zlRubrique.options[code_rub].value == ".$enr[0]." ) {\n";
  22. echo " document.frmDemo1.zlItem.length = ".(mysql_num_rows($resultat2)).";\n";
  23. $cpt = 0;
  24. while ($enr2 = mysql_fetch_array($resultat2)) {
  25. echo " document.frmDemo1.zlItem.options[".$cpt."].value = ".$enr2[0].";\n";
  26. echo " document.frmDemo1.zlItem.options[".$cpt."].text = \"".$enr2[1]."\";\n";
  27. echo " if (code_item == ".$enr2[0]." ) document.frmDemo1.zlItem.options[".$cpt."].selected = true;\n";
  28. $cpt++;
  29. if ($cpt > $max_lignes) $max_lignes = $cpt;
  30. if (strlen($enr2[1]) > strlen($option_max)) $option_max = $enr2[1];
  31. }
  32. echo " }\n";
  33. }
  34. ?>
  35. }
  36. </SCRIPT>
  37. <?php
  38. // ----------------------------------------------------------------------------
  39. // Liste Rubriques
  40. // ----------------------------------------------------------------------------
  41. $sql = "SELECT * FROM ze_etablissement ORDER BY nom";
  42. $resultat = mysql_db_query($dbName, $sql);
  43. echo "<FORM METHOD=POST NAME='frmDemo1'>";
  44. echo "<BR> <B>Rubriques</B> ";
  45. echo " <SELECT NAME='zlRubrique' onChange='ModifierListe(-1)'>\n";
  46. if (!isset($zlRubrique)) $zlRubrique = - 1;
  47. while ($enr = mysql_fetch_array($resultat)) {
  48. echo "<OPTION VALUE='".$enr[0]."'";
  49. if ($zlRubrique == $enr[0]) echo " SELECTED";
  50. echo ">".htmlspecialchars($enr[1])."</OPTION>\n";
  51. }
  52. echo "</SELECT> \n";
  53. // ----------------------------------------------------------------------------
  54. // Liste Items
  55. // ----------------------------------------------------------------------------
  56. echo " <B>Items</B> ";
  57. echo " <SELECT NAME='zlItem'>\n";
  58. for ($cpt = 0; $cpt < $max_lignes; $cpt++)echo "$option_max";
  59. echo "<OPTION>".ereg_replace(".", "--", $option_max)."</OPTION>\n";
  60. echo "</SELECT> \n";
  61. if (!isset($zlItem)) $zlItem = -1;
  62. echo "<SCRIPT LANGUAGE='JavaScript'>\n;ModifierListe(".$zlItem." );\n</SCRIPT>\n";
  63. // ----------------------------------------------------------------------------
  64. echo "<INPUT TYPE='submit' VALUE='Valider'>\n";
  65. echo "</FORM>";
  66. // ----------------------------------------------------------------------------
  67. // Résultats des sélections
  68. // ----------------------------------------------------------------------------
  69. echo "Sélection :<BR>\n";
  70. if (isset($zlRubrique) && $zlRubrique != "" ) {
  71. $sql = "SELECT * FROM ze_etablissement WHERE idetablissement='".$zlRubrique."'";
  72. $resultat = @mysql_db_query($dbName, $sql);
  73. $enr = @mysql_fetch_array($resultat);
  74. echo "Rubrique = $zlRubrique [$enr[0]]<BR>\n";
  75. }
  76. if (isset($zlItem) && $zlItem != "" && $zlItem != -1) {
  77. $sql = "SELECT * FROM ze_etablissement_section WHERE idetablissement_section='".$zlItem."'";
  78. $resultat = @mysql_db_query($dbName, $sql);
  79. $enr = @mysql_fetch_array($resultat);
  80. echo "Item = $zlItem [$enr[0]]<BR>\n";
  81. }
  82. ?>


 
Et voila ce que ça me fait :
http://www.**********/test.php
 
Si quelqu'un à la solution ça me sauverai bien la vie !
 
J'espère que mon topic est assez clair et précis.
 
Merci d'avance pour vos aides,
Alexandre


Message édité par Alexandre58 le 23-04-2006 à 12:53:47
mood
Publicité
Posté le 10-04-2006 à 19:04:18  profilanswer
 

n°1344078
Alexandre5​8
Posté le 11-04-2006 à 13:56:30  profilanswer
 

Up!

n°1344109
anapajari
s/travail/glanding on hfr/gs;
Posté le 11-04-2006 à 14:18:36  profilanswer
 

Tu lances ta page, tu ouvres la console javascript de FF et tu as :


Erreur : unterminated string literal
Fichier source : http://www.*****.net/test.php
Ligne : 56, Colonne : 44
Code source :
 document.frmDemo1.zlItem.options[6].text = "Science de l'information & de la communication


et  

Erreur : ModifierListe is not defined
Fichier source : http://www.*****.net/test.php
Ligne : 311


 
Donc tu commences par corriger ces erreurs [:spamafote]
Par ailleurs généralement une page web commence par un doctype, puis une balise html, ensuite une balise head contenant les scripts et le contenu va dans la balise body


Message édité par gilou le 24-04-2006 à 09:00:28
n°1344150
Alexandre5​8
Posté le 11-04-2006 à 14:42:10  profilanswer
 

ça marche !!
 
Merci beaucoup !
 
Pour l'info il y avait un retour à la ligne au niveau de l'enregistrement Science de l'information & de la communication dans la base de donnée ce qui entraine une erreur dans le script.
 
Encore merci et bonne continuation,
Alexandre.


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

  Contenu d'une liste en fonction d'une autre le tout dynamiquement

 

Sujets relatifs
fonction feof (), ecriture sur un fichier textecocher automatiquement 1 checkbox en fonction des données d'1 listbox
Afficher dans une TextBox en fonction d'une ListBox[perl]effacer répétitions dans une liste
Batch Dos. Fonction pour récuperer le nom du fichier dans un path?Liste vide
Pages HTML vers fonction PHP[Résolu] Parametre d'une fonction
Cherche exemple ArrayList, agrandir tableau dynamiquementliste deroulante
Plus de sujets relatifs à : Contenu d'une liste en fonction d'une autre le tout dynamiquement


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