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 -
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:
- Php problémé avec une liste déroulante
- Liste déroulante excel - Guide
- Liste déroulante en cascade - Guide
- Liste déroulante google sheet - Accueil - Guide bureautique
- Liste code ascii - Guide
- Supprimer une liste déroulante excel - Forum Word
8 réponses
Salut !
Pour commencer:
Ensuite, pourrais-tu nous donner le code de ta/tes page(s) PHP ? Sans quoi il sera impossible de t'aider...
Merci.
A+
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 :. ___|
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];
}
}
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];
}
}
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+ :)
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 :. ___|
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.
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. :)
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. :)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
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
Voilà j'éspére que tu peus m'aider
merci beaucoup