Page 1 sur 1

Garder la valeur selectionné

Posté : 28 déc. 2011, 16:46
par xzena
bonjour ^^
je veux faire un truc mais je sais pas comment :?
sur un formulaire j'ai plusieurs critères de recherche: un principal (par Client) et d'autre secondaires (par ville,par secteur..)
Alors je cherche comment faire pour garder et récupérer le choix du Client sélectionné pour que quand il va l'user choisir par ville ou..il l'a pas besoin de reselectionner le client..mais c'est déjà garder le même jusqu’à que l'user selectionne un autre client ..
Après moi je fait les requete de recherche par le CLIENT choisie et l'autre critere choisie.
J'ai déjà fait un truc pareil sur une liste-Menu mais c’était statique et non importation depuis la base de donnée:
<select name="liste" id="liste" onchange="get_med();">
          <option selected="selectionnez" value="">Selectionnez </option>
          <option <?php if(isset($_SESSION['liste'])){if($_SESSION['liste']=="liste1"){echo "selected";}}?> value="liste1">Liste 1</option>
          <option <?php if(isset($_SESSION['liste'])){if($_SESSION['liste']=="liste2"){echo "selected";}}?> value="liste2">Liste 2</option>
          <option <?php if(isset($_SESSION['liste'])){if($_SESSION['liste']=="liste3"){echo "selected";}}?> value="liste3">Liste 3</option>
          <option <?php if(isset($_SESSION['liste'])){if($_SESSION['liste']=="liste4"){echo "selected";}}?> value="liste4">Liste 4</option>
      </select>
hmmm j'espère j'etais assez claire et merci pour tout aide $$

Re: Garder la valeur selectionné

Posté : 28 déc. 2011, 18:11
par Ryle
Le principe est le même que ta liste soit statique ou dynamique, il faut que dans l'option que tu souhaites sélectionner par défaut, tu ajoutes l'attribut "selected".

Tu dois logiquement avoir une boucle qui te permet d'afficher chaque option avec le nom de tes clients. Dans cette boucle il faut donc ajouter un test pour savoir si le client que tu es en train d'afficher est celui qui a été retenu (en session, en post, ... bref, là où tu sais que c'est sur ce client qu'on est en train de travailler ;)). Si c'est le même, tu affiches l'option avec son nom et l'attribut selected. Si ce n'est pas le même (parce qu'on est en train d'afficher le nom d'un autre client), tu affiches juste l'option sans l'attribut selected... et hop, le tour est joué :)

Re: Garder la valeur selectionné

Posté : 28 déc. 2011, 18:29
par xzena
j'ai pas compris comment appliquer ça sur ma liste dynamique!
<select name="client" id="client"  onchange="submit();">
           <option selected="selectionnez" value="">Selectionnez un Repr&eacute;sentant </option>
            <?php
$respo = mysql_query("SELECT DISTINCT(code),nom FROM ref ORDER BY nom ASC");
while($affiche_respo= mysql_fetch_array($respo)){
   echo '<option value="'.$affiche_respo['nom'].'('.$affiche_respo['code'].')">'.$affiche_respo['nom'].'  ('.$affiche_respo['code'].')</option>';
  }
?>
 </select>
j'ai mélangé quelque charabias ..mais c'est du n'importe quoi
$client= $_POST['client'];
<select name="client" id="client" onchange="submit();">
          <option selected="selectionnez" value="">Selectionnez </option>
          <option <?php if(isset($_SESSION['client'])){if($_SESSION['client']=="$_post['client']"){echo "selected";}}?> value="$_post['client']">?!!</option>
              </select>
:oops:

Re: Garder la valeur selectionné

Posté : 28 déc. 2011, 19:07
par Ryle
Ca devrait donner quelque chose dans ce gout là :
while($affiche_respo= mysql_fetch_array($respo)) {
   // en supposant qu'en session tu ais le code du client
   if (isset($_SESSION['client']) && $_SESSION['client']==$affiche_respo['code']) // on compare les deux
      $selected = 'selected="selected"'; // si c'est les mêmes on ajoute notre attribut
   else // sinon, pas d'attribut
      $selected = '';

   // dans ton option on place notre variable qui indiquera quelle option est sélectionnée
   echo '<option ' . $selected . ' ... > ... </option>';
}

Re: Garder la valeur selectionné

Posté : 29 déc. 2011, 16:51
par xzena
oui Merci bien @Ryle ^^ ça marché finalement comme ça :
<select name="client" id="client" >
           <option selected="" value="">Selectionnez un Repr&eacute;sentant </option>
            <?php
 if (isset($_GET['client'])) {
    $client= $_GET['client'];
$code=explode('(',$_POST['client']);
		$code1=$code[1];
		$code2=explode(')',$code1);
		$code3=trim($code2[0]);
		$i = 0;
		//echo $code3 ;
}
 $respo = mysql_query("SELECT DISTINCT(code),client FROM visiter ORDER BY nom ASC");
while ($req= mysql_fetch_array($respo))
 {
  ?>
      <option value="<?php echo $req['nom']; ?>"
                                     
      <?php
         if( isset($client) && $client==$req['nom'] )
           {      
             echo ' selected="selected" ';
           }
echo '>' . $req['nom'] . ' ('. $req['code'] . ')</option>';
 }
?>
?>
 </select>
Mais le problème qui me reste c'est pourquoi ma requête de recherche ça marche plus maintenant :
  <td><?PHP  $requete4 = mysql_query (" select count(id) as nb4 from visiter where code = '$code' and activite  ='priv' and date_visite BETWEEN '$date_debut' AND '$date_fin' ");
while ($row4= mysql_fetch_array($requete4)){
$nbr4 = $row4['nb4'];
//echo $nbr4 ;
echo '<center> <font color="red"> '.$nbr4.' </font>' ;  } ?></td>
:?: :?:

Re: Garder la valeur selectionné

Posté : 29 déc. 2011, 17:26
par xzena
Désolé je me suis trompé entre les $var..c'est bon maintenant ;)