value de formulaire en memoire

Eléphant du PHP | 123 Messages

08 déc. 2012, 13:16

bonjour tout le monde

j essai en vain de garder ce qu on choisi dans les select en memoire

mon code html dont voici un bout
<select id="Marques" name="Marque" style="width: 150px; margin-bottom: 3px;" >
									      <option value="" >--- Marque ---</option>
                        <option value="Acura" [var.selected;noerr]>Acura</option>
                   			<option value="Alfa" [var.selected;noerr]>Alfa</option>
                  			<option value="Audi" [var.selected;noerr]>Audi</option>
                  			<option value="Austin" [var.selected;noerr]>Austin</option>
						            <option value="Autobianchi" [var.selected;noerr]>Autobianchi</option>
						            <option value="BMW" [var.selected;noerr]>BMW</option>
							          <option value="Bugatti" >Bugatti</option>
                  			<option value="Chrysler" >Chrysler</option>
                  			<option value="Citroën" [var.selected;noerr] >Citroën</option>
j utilise un generateur de template mais le soucis n est pas la

et voici ce que je fais en php
if (isset($_POST['action'])) // si le formulaire est soumis on stocke les paramètres dans la session
  
   $_SESSION['critere'] = $_POST;

if(isset($_SESSION['critere'])) // condition tant que le visiteur n'a encore pas touché aux critères et que donc $_SESSION['criteres'] n'existe pas, on ne peut pas extraire les paramètres
   extract($_SESSION['critere']);// extraction des critères de recherche
            // on récupère les critères sélectionnés
                  $choix = array(); 
                 // si la variable est présente, on lui affecte une place dans le tableau 'choix[]', qui nous servira ensuite à construire le WHERE de la requête.
                  
                   
   if(isset($Marque) && !empty($Marque) )// ajout du isset car tant qu'on a pas choisi de critère, on ne peut pas les extraires et donc la variable n'existe pas
    { 
    $choix[] = "Marque = '$Marque'";
    $selected = ' selected="selected"';
    }
    else {$selected = "";}
et la le soucis c est que si je choisi une marque de vehicule qui n y a pas il affiche rien
et si je choisi une marque qui existe ben il me retourne dans ma liste la derniere marque de la liste

doit pas me manqué grand chose mais apres mes recherches je ne trouve toujours pas

merci d avance pour l aide apporté

EDIT: apres avoir enlever certaine choses dans mon code il me retourne quoi que je choisissent le dernier de la liste et non pas celui que j ai selectionné :(

Eléphant du PHP | 123 Messages

09 déc. 2012, 12:59

bonjour..

personne pour m éclairé? :(

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

09 déc. 2012, 14:12

Salut,

Vire le extract et utilise les index de session.

Quand reste justement le problème peux venir de ton système de template si tu utilise mal le selected sur les options.


@+
Il en faut peu pour être heureux ......

Eléphant du PHP | 123 Messages

09 déc. 2012, 14:33

Salut,

Vire le extract et utilise les index de session.

Quand reste justement le problème peux venir de ton système de template si tu utilise mal le selected sur les options.


@+
bonjour et merci de ta réponse cependant qu appelles tu par index de session?

EDIT! le traitement je doit le faire coté php mais doit me manquer quelque chose
car du coté html j affiche ma variable selected en fonction de mon traitement php

si je fais un echo de $Marque cela me retrourne bien la marque que j ai selectionné mais j arrive pas a garder le selected sur la marque que j ai choisi

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

09 déc. 2012, 17:45

Il faut voir du côté du système de template comment fonctionne le select et le selected de l'option

@+
Il en faut peu pour être heureux ......

Eléphant du PHP | 123 Messages

09 déc. 2012, 18:02

ok mais est ce que mon code php est bon?

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

09 déc. 2012, 23:46

Il semble fonctionnel mais qu'il soit correct pour ton système j'en sais rien.

@+
Il en faut peu pour être heureux ......