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

  FORUM HardWare.fr
  Programmation
  HTML/CSS

  listes déroulantes dynamiques + Oracle + Javascript

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

listes déroulantes dynamiques + Oracle + Javascript

n°836873
lious
Posté le 30-08-2004 à 17:19:32  profilanswer
 

Bonjour,
 
Voila j'ai un petit souci : j'ai 2 tables oracle : logiciel et version et je dispose de 2 listes déroulantes contenant les données de chacunes des tables définis avant. Mon but est que lorsque je sélectionne un logiciel, j'aimerais que cela mette à jour la 2ème liste déroulante et que par conséquent je n'ai que les versions correspondantes avec ce logiciel. Je sais que je dois utiliser du javascript mais malheureusement j'ai utilisé pas mal d'exemples sans succès. Qq'un aurait il à me suggérer un autre script, ou bien me corriger celui qui suit. Merci d'avance.
 
<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 ORDER BY nomversion ASC');
        $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>

mood
Publicité
Posté le 30-08-2004 à 17:19:32  profilanswer
 


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

  listes déroulantes dynamiques + Oracle + Javascript

 

Sujets relatifs
liste déroulante dynamique + oracle + phpMigration Oracle-SQL vers BD2-SQL
Input box javascript et mysql...Supprimer le lien ds un javascript
[javascript] changer couleur dans plusieurs cellulesxhtml 1.0 strict & javascript mozilla
[SGBD] Tip : Comment installer le client Oracle 10g sous Windowsc'est possible de faire ça ??? [javascript inside]
Javascript Xhtml et W3cRech. javascript de masque de saisie d'un champ dd/mm/yyyy hh:mi ?
Plus de sujets relatifs à : listes déroulantes dynamiques + Oracle + Javascript


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