La liste deroulante en php

Fermé
abdeslam1999 Messages postés 29 Date d'inscription jeudi 21 mai 2009 Statut Membre Dernière intervention 16 avril 2018 - 20 nov. 2009 à 11:17
 abdeslam1999 - 20 nov. 2009 à 15:50
Bonjour,
ce problème est déjà posé et résolu mais cette fois ici j'utilise la tehnologie ajax.

voilà mon problème dans une liste déroulante en php j'ai deux valeurs(codefamille et designation)

je veux des que je selectionne une ligne, un seul valeurs qui sera affiché(par exemple le codefamille)


/*code ajax
.............
............
*/

<select name='famille' id='famille' style='width:200px' onchange='f_famille_designation();f_sous_famille_code();'>

<?php
$res=mysql_query("select * from famille order by code_famille") or die ("Requête non executée.");

echo"<option value='-1'>Choisir une famille</option>";
while($row = mysql_fetch_array($res)){
$Codefamille = $row['code_famille'];
$Designation = $row['designation'];
echo '<option value="'.$row['famille_id'].'">'.($Codefamille."-".$Designation) .'</option>';
}
?>
</select>

merci

5 réponses

Pilow Messages postés 400 Date d'inscription vendredi 2 octobre 2009 Statut Membre Dernière intervention 23 décembre 2009 71
20 nov. 2009 à 11:34
J'ai fais ça, modifie le pour que ca corresponde a ton cas :

<script language="javascript">
function testage()
{
var i;
var tab;
var nbopt = document.getElementById('pouet').options.length;

for (i = 0; i < nbopt; i++)
	{
	tab = document.getElementById('pouet').options[i].id.split(';');
	if (document.getElementById('pouet').options[i].selected)
		document.getElementById('pouet').options[i].text = tab[0];
	else
		document.getElementById('pouet').options[i].text = tab[0]+' '+tab[1];
	}
}

</script><br /><br />
<br />
LISTE :<select id="pouet" name="pouet" Onchange="javascript: testage();">
<option id="Pwet;coucou">Pwet coucou</option>
<option id="Truc;coucou">Truc coucou</option>
<option id="Test;coucou">Test coucou</option>
</select>


En gros :

Dans ID de chaque option tu met CODE;DESIGNATION

A chaque modification de ta liste tu appel testage();

Testage parcourt ta liste deroulante, si l'option est selectionné, elle affiche CODE, sinon elle affiche CODE+' '+DESIGNATION
0
Pilow Messages postés 400 Date d'inscription vendredi 2 octobre 2009 Statut Membre Dernière intervention 23 décembre 2009 71
20 nov. 2009 à 12:07
J'ai essayé de le mettre a ta sauce :

<script language="javascript">
function text_modif()
{
var i;
var tab;
var nbopt = document.getElementById('famille').options.length;

for (i = 1; i < nbopt; i++)
	{
	tab = document.getElementById('famille').options[i].id.split(';');
	if (document.getElementById('famille').options[i].selected)
		document.getElementById('famille').options[i].text = tab[0];
	else
		document.getElementById('famille').options[i].text = tab[0]+' - '+tab[1];
	}
}
</script>



<select name='famille' id='famille' style='width:200px' onchange='f_famille_designation();f_sous_famille_code();text_modif();'>

<?php
$res=mysql_query("select * from famille order by code_famille") or die ("Requête non executée.");

echo"<option value='-1'>Choisir une famille</option>";
while($row = mysql_fetch_array($res)){
$Codefamille = $row['code_famille'];
$Designation = $row['designation'];
echo '<option id="'.$Codefamille.";".$Designation.'" value="'.$row['famille_id'].'">'.($Codefamille."-".$Designation) .'</option>';
}
?>
</select> 
0
abdeslam1999
20 nov. 2009 à 12:23
oui merci beaucoup....

moi voilà ce que j'ai fait presque la même chose
<?php

$req="select * from famille";
$req_execute=mysql_query($req);
$req_numbre_rows=mysql_num_rows($req_execute);
?>

<script language="javascript">
function testage()
{
var i;
var tab;

for (i = 0; i <($req_numbre_rows); i++)
{
tab = document.getElementById('famille').options[i].id.split(';');
if (document.getElementById('famille').options[i].selected)
document.getElementById('famille').options[i].text = tab[0];
else
document.getElementById('famille').options[i].text = tab[0]+' '+tab[1];
}
}

</script>


<select name='famille' id='famille' style='width:200px' onchange='f_famille_designation();f_sous_famille_code();testage();'>

<?php

$res=mysql_query("select * from famille order by code_famille") or die ("Requête non executée.");
echo"<option value='-1'>Choisir une famille</option>";
while($row = mysql_fetch_array($res)){
$Codefamille = $row['code_famille'];
$Designation = $row['designation'];
echo '<option id="'.$Codefamille.";".$Designation.'" value="'.$row['famille_id'].'">'.($Codefamille."-".$Designation) .'</option>';

}
?>
</select>
0
Pilow Messages postés 400 Date d'inscription vendredi 2 octobre 2009 Statut Membre Dernière intervention 23 décembre 2009 71
20 nov. 2009 à 14:26
Oui c'est à peu près pareil
Tant que le resultat y est ^^

Si ça marche met ton sujet en résolu
0

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

Posez votre question
abdeslam1999
20 nov. 2009 à 15:50
résolu
0