Eléphant du PHP |
406 Messages
30 mai 2005, 11:20
j'ai reussi a la faire fonctionner les element de la liste apparaisse meme quand on change d element dans les autre liste mais j ai un probleme avec la premiere liste deroulante et j ene pije pas.
Elle se presente comme cela
*
PC
Imprimante
Serveur
Quand je clique sur pc et puis sur une autre liste pc reste afficher, pareil quand je clique ensuite sur imprimante, puis sur serveur mais quand je fais l inverse c est a dire que j ai cliquer sur imprimante et que je clique ensuite sur pc ou * bin sa ne s affiche pas il faut que je reselectionne encore une deuxieme fois pour que sa s affiche,alors que pour les 2 autres liste je n ai pas ce probleme ?Bizarre ???
et aussi au chargement de ma feuille, je voudrais que dans chaque liste soit afficher "*", j ai essayer le onload et le unload avec un unset($_session...) mais c est pas trop sa car apres si on clique sur un element d une liste tous les variable de session son effacer et il n y a plus de selected dans la liste ??
<?php
session_start();
?>
<html>
<head>
</head>
<body>
<?php
include("connexionessai.inc.php");
//affichage pour la ville
$sql = 'SELECT distinct type_objet FROM objet order by type_objet;';
$result = pg_query($sql) or die( 'Erreur' );
$nb = pg_num_rows($result);
echo '<h1> nombre '.$nb.'</h1>';
?>
<form action="<?php echo($_SERVER['PHP_SELF']); ?>" method="post">
<select name="famille" onChange="location.href='<?php echo $_SERVER['PHP_SELF'] ;?>?type_objet=' + this.value">
<?
if ( $nb==0 )
{
?>
<option>Aucune Famille</option>
<?
}
else
{
?>
<option>*</option>
<?
$sel="selected";
while ( $list = pg_fetch_array( $result ) )
{
?>
<option value="<? echo $list['type_objet'] ;?>"<?php if( $list['type_objet']==@$_GET['type_objet']){echo ' selected=\"selected\" ';}elseif($list['type_objet']==@$_SESSION['type_objet']){echo ' selected=\"selected\" ';} ?>><?php echo $list['type_objet'] ;?></option>
<?
}
}
?>
</select>
<?
if(isset($_GET['type_objet']))
{
$type_objet=@$_GET['type_objet'];
$_SESSION['type_objet'] = @$_GET['type_objet'];
}
elseif(isset($_GET['marque']))
{
$marque=@$_GET['marque'];
$_SESSION['marque'] = @$_GET['marque'];
}
elseif(isset($_GET['modele']))
{
$modele=@$_GET['modele'];
$_SESSION['modele'] = @$_GET['modele'];
}
//$_SESSION['type_objet'] = @$_GET['type_objet'];
echo @$_SESSION['type_objet'];
if(@$type_objet!=""){
//affichage pour les marque
$sql1 = "SELECT distinct marque FROM objet where type_objet='".$type_objet. "' order by marque;";
}
else
{
$sql1 = "select distinct marque from objet order by marque";
}
$result1 = pg_query($sql1) or die( 'Erreur1' );
$nb = pg_num_rows($result1);
echo '<h1> nombre '.$nb.'</h1>';
?>
<select name="marque" onChange="location.href='<?php echo $_SERVER['PHP_SELF'] ; ?>?marque=' + this.value">
<?
if ( $nb==0 )
{
?>
<option>Aucune Marque</option>
<?
}
else
{
?>
<option>*</option>
<?
while ( $list1 = pg_fetch_array( $result1 ) )
{
?>
<option value="<?php echo $list1['marque'] ;?>"<?php if( @$_GET['marque']== $list1['marque']){echo ' selected=\"selected\" ';}elseif(@$_SESSION['marque']== $list1['marque']){echo ' selected=\"selected\" ';} ?>><? echo $list1['marque'] ;?></option>
<?
}
}
?>
</select>
<?
//$marque=@$_GET['marque'];
//echo $marque;
echo @$_SESSION['marque'];
echo strlen(@$_SESSION['marque']);
if(@$marque!="")
{
//affichage par modele
$sql1 = "SELECT distinct modele FROM objet where marque='".$marque. "' order by modele;";
}
else
{
$sql1 = "select distinct modele from objet order by modele";
}
$result1 = pg_query($sql1) or die( 'Erreur1' );
$nb = pg_num_rows($result1);
echo '<h1> nombre '.$nb.'</h1>';
?>
<select name="modele" onChange="location.href='<?php echo $_SERVER['PHP_SELF'] ;?>?modele=' + this.value">
<?
if ( $nb==0 )
{
?>
<option>Aucun Modele</option>
<?
}
else
{
?>
<option>*</option>
<?
while ( $list1 = pg_fetch_array( $result1 ) )
{
?>
<option value="<?php echo $list1['modele'] ;?>"<?php if( @$_GET['modele']== $list1['modele']){echo ' selected=\"selected\" ';}elseif(@$_SESSION['modele']== $list1['modele']){echo ' selected=\"selected\" ';} ?>><? echo $list1['modele'] ;?></option>
<?
}
}
?>
</select>
</form>
<?
//$modele=@$_GET['modele'];
echo @$_SESSION['modele'];
?>
</body>
</html>
Merci