lious | Bonjour,
J'ai réalisé un programme dans lequel j'ai 2 listes déroulantes : si j'actionne un élément de la 1ère liste, la seconde se met à jour et n'affiche que ce qui concerne l'élément sélectionné de la 1ère liste. Mon pb est que dans mon prog j'utilise du javascript et du PHP (pour mes requêtes à ma base de données Oracle) mais à l'exécution mes listes déroulantes n'affichent rien . En regardant le source de la page je m'aperçoit qu'il retourne les résultats de mes requêtes mais il ne les affiche pas dans mon programme. Je vous transmet ci-dessous mon code. Si jamais vous avez des idées pourriez vous me le dire svp. Merci d'avance.
Code :
- <html>
- <head>
- <title>Exemple</title>
- <SCRIPT language="javascript">
- var oLogiciels = new Array();
- function Logiciel( idlog, nomlog)
- {
- this.idlog = idlog;
- this.nomlog = nomlog;
- this.nomversion = new Array();
- }
- Logiciel.prototype['Identificateur'] = function()
- {
- return this.idlog;
- }
- Logiciel.prototype['Nomlog'] = function()
- {
- return this.nomlog;
- }
- Logiciel.prototype['Ajouternomversion'] = function( idversion, nomversion)
- {
- this.nomversion.push( new Version(idversion, nomversion) );
- }
- function Version( idversion, nomversion )
- {
- this.idversion = idversion;
- this.nomversion = nomversion;
- }
- Version.prototype['Identificateur'] = function()
- {
- return this.idversion;
- }
- Version.prototype['Nom'] = function()
- {
- return this.nomversion;
- }
- function onSelect_Logiciel()
- {
- var id = oListeLogiciel.options[oListeLogiciel.selectedIndex].value;
- var count, count2;
- while (oListeVersion.options.length > 0)
- oListeVersion.removeChild( oListeVersion.options[0] );
- for (count in oLogiciels)
- if (oLogiciels[count].Identificateur() == id)
- {
- for (count2 in oLogiciels[count].nomversion())
- {
- var oVersion = oLogiciels[count].nomversion()[count2];
- var oOption = document.createElement( 'option' );
- oOption.value = oVersion.Identificateur();
- oOption.text = oVersion.Nom();
- oListeVersion.add( oOption );
- }
- oListeVersion.selectedIndex = 0;
- onSelect_Version();
- return;
- }
- }
- function onSelect_Version()
- {
- var idLogiciel = oListeLogiciel.options[oListeLogiciel.selectedIndex].value;
- var idVersion = oListeVersion.options[oListeVersion.selectedIndex].value;
- var count, count2;
- for (count in oLogiciels)
- if (oLogiciels[count].Identificateur() == idLogiciel)
- for (count2 in oLogiciels[count].nomversion())
- if (oLogiciels[count].nomversion()[count2].Identificateur() == idVersion)
- {
- var oVersion = oLogiciels[count].nomversion()[count2];
- return;
- }
- }
- function onLoad()
- {
- var oLogiciel;
- var count;
- <?
- $conn = oci_connect("logitheque","logiciel",'BTEST');
- $sql = oci_parse($conn,'SELECT * FROM logiciel ORDER BY nomlog' );
- $res = oci_execute ($sql);
- while ($row = oci_fetch_array( $sql, OCI_BOTH ))
- {
- echo ' oLogiciel = new Logiciel( ' . $row['IDLOG'] . ', "' . $row['NOMLOG'] . '" );';
- $sql2 = oci_parse($conn, 'SELECT * FROM version');
- $res2 = oci_execute ($sql2);
- while ($row2 = oci_fetch_array( $sql2, OCI_BOTH)) {
- echo ' oLogiciel.Ajouternomversion(' . $row2['IDVERSION'] . ', "' . $row2['NOMVERSION'] . '" );';
- }
- echo ' oLogiciels.push( oLogiciel );' ;
- }
- ?>
- for (count in oLogiciels)
- {
- var oOption = document.createElement( 'option' );
- oOption.value = oLogiciels[count].Identificateur();
- oOption.text = oLogiciels[count].Nom();
- oListeLogiciel.add( oOption );
- }
- onSelect_Logiciel();
- }
- </SCRIPT>
- </head>
- <BODY onload=onLoad()>
- <BR><SPAN
- style="FONT-WEIGHT: bold; FONT-SIZE: 12px; FONT-FAMILY: Verdana">Logiciel
- :</SPAN> <SELECT id=oListeLogiciel
- style="FONT-SIZE: 10px; WIDTH: 200px; FONT-FAMILY: Verdana"
- onchange=onSelect_Logiciel()></SELECT><BR><BR><SPAN
- style="FONT-WEIGHT: bold; FONT-SIZE: 12px; FONT-FAMILY: Verdana">Version
- :</SPAN> <SELECT id=oListeVersion
- style="FONT-SIZE: 10px; WIDTH: 200px; FONT-FAMILY: Verdana"
- onchange=onSelect_nomversion()></SELECT><BR><BR>
- </BODY>
- </HTML>
|
|