Php problémé avec une liste déroulante

fdupriez Messages postés 11 Date d'inscription   Statut Membre Dernière intervention   -  
fdupriez Messages postés 11 Date d'inscription   Statut Membre Dernière intervention   -
j'ai trois liste déroulante une des trois doit se remplir seleon les donnée sélectionner dans une des deux autre en bref elle doivent être dynamique ma question comment charger la liste à partir des de l'une des deux autres. nécésaire pour l'application java et php
A voir également:

8 réponses

Thom@s Messages postés 3412 Date d'inscription   Statut Modérateur Dernière intervention   678
 
Salut !

Pour commencer:

Veuillez s'il vous plaît :
    * Faire usage de formules de politesse (Bonjour, merci, SVP),
    * Prendre connaissance de la charte d'utilisation du forum.
(http://www.commentcamarche.net/ccmguide/ccmcharte.php3)

Ensuite, pourrais-tu nous donner le code de ta/tes page(s) PHP ? Sans quoi il sera impossible de t'aider...

Merci.
A+
  ___________________
  |__ .: Thom@s :. ___|
0
fdupriez Messages postés 11 Date d'inscription   Statut Membre Dernière intervention  
 
Desolé donc bonjour et merci à tous ceux qui voudrons bien essayé de m'aider , pour information les liste déroulante se charge gràce à des information récupérer sur une base de donné oracle
je posséde déja le programme de création des liste ci_joint et un début de programme d'affectation des donnée à l'aide d'un tableau
multidimensionnel
programme des listes déroulantes :
function listderoulante($table,$val,$libel,$formulaire="",$depta="",$ctra="")
{

if($table !='')
{
if($val =="sv")
{
$this->sql = "select $val, $libel from ".$table." where dv ='".$this->dv."' and supprim ='0'";
}
elseif ($val == "secta")
{
$this->sql = "select $val,$libel from ".$table." where depta='".$this->depta. "' and ctra ='".$this->ctra. "'order by $libel";
}
else
{
$this->sql ="select $val, $libel from ".$table." where supprim ='0'";
}
$this->result = $this->db->Execute($this->sql);
if ($this->result && !$this->result->EOF) {
$this->num = $this->result->RecordCount();

} else {
$this->num = "0";
}
}

if($val == 'cod_unite')
{
$select = "<select name=\"cod_unite_u\">\n";
}
elseif ($val =='depta')
{
$select = "<select name=\"depta\" onChange='ModifierListeSecta($formulaire,$depta,$ctra);'>\n";
}
elseif ($val =='ctra')
{
$select = "<select name=\"ctra\" onChange='ModifierListeSecta($formulaire,$depta,$ctra);'>\n";
}
elseif($val == 'dv')
{
$select = "<select name=\"dv\" onChange='ModifierListeSV($formulaire);'>\n";
}
else
{
$select = "<select name=\"$val\">\n";
}

$select .= "<option value=\"\">----------------------</option>";

if ($this->num != 0){
$i=0;
while ($i < $this->num){
$obj = $this->result->FetchNextObject(0);
$select .= "<option value=".$obj->$val;

if ($obj->$val == $this->$val){
$select .= " selected";
}
$select .= ">".$obj->$libel."</option>";
$i++;
}
}
$select .= "</select>";
return $select;
}

le prog pour affectation de ma liste : (Javascript + php4)

var tabsecta = new Array();
var tabsecta2 = new Array();
<?PHP
global $db;
$result3 = $db->Execute("select secta, depta, ctra, libelle from secta where supprim=0");

if ($result3 && !$result3->EOF)
{
$num2 = $result3->RecordCount();
}

$i=0;
while ($i < $num2)
{
$obj2 = $result3->FetchNextObject(0);
?>
//tabsecta[<?php echo $obj2->depta;?>][<?PHP echo $obj2->ctra; ?>] = <?php echo $obj2->secta; ?>;
//tabsecta2[<?php echo $obj2->depta;?>][<?PHP echo $obj2->ctra; ?>] = <?php echo $obj2->libelle; ?>;
<?php
$i++;
}
?>

function ModifierListeSecta(formulaire,depta,ctra)
{
if ((depta != "") && (ctra != "")){
formulaire.secta.value = tabsecta2[depta][ctra];
//formulaire.secta.text = tabsecta[depta][ctra];
}
}
0
Thom@s Messages postés 3412 Date d'inscription   Statut Modérateur Dernière intervention   678
 
Salut !

Désolé, mais je ne connais pas du tout Oracle...
J'aurais pu te le faire avec PHP et MySQL, si tu veux, mais Oracle, je ne connais pas.
:-)

A+ :)
  ___________________
  |__ .: Thom@s :. ___|
0
fdupriez Messages postés 11 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour thomas et merci d'avance , si tu connais la solution avec my sql donne la moi je l'adapterai à oracle je bloc sur la logique des listes déroulante toute ton aide serait la bien venu dans tous les cas je te remercie de t'intéresser à mon petit probléme dans l'espoir de resoudre ce casse tête alors un grand trés grand merci.
0
Utilisateur anonyme
 
Salut,
Oracle ou pas, tu ne pourras pas faire des dépendances entre tes trois listes sans recharger toute la page. Logique. php ne prend connaissance du choix de la premiere liste box qu'au moment ou tu envoies les données au serveur.

La seule solution est d'utiliser du javascript...

Kalamit,
Parle à ma culasse, mon carter est malade. :)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
fdupriez Messages postés 11 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour ,le javascript me convient trés bien donc si tu connais la solution n'hésite pas à me la donner et comme tu peu le voir j'utilise du java script dans la seconde partie du programme que j'ai envoyer (pour la création du tableau dynamique)
Voilà j'éspére que tu peus m'aider
merci beaucoup
0
Thom@s Messages postés 3412 Date d'inscription   Statut Modérateur Dernière intervention   678
 
Salut !

Je vais essayer de me pencher là-dessus :-)
  ___________________
  |__ .: Thom@s :. ___|
0
fdupriez Messages postés 11 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour thomas et merci
0
Utilisateur anonyme
 
Je crois que je pourrai pas t'aider au niveau du javascript, mais tu vas vraiment galerer. :)
J'te conseille d'aller mettre un petit message sur le forum de l'editeur javascript.

Kalamit,
Parle à ma culasse, mon carter est malade. :)
0
Thom@s Messages postés 3412 Date d'inscription   Statut Modérateur Dernière intervention   678
 
www.EditeurJavaScript.com
:-)
  ___________________
  |__ .: Thom@s :. ___|
0
fdupriez Messages postés 11 Date d'inscription   Statut Membre Dernière intervention  
 
merci thomas je vais réfléchir au probléme ce samedi
0