IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Ordre d'affichage d'une liste


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    85
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 85
    Points : 77
    Points
    77
    Par défaut Ordre d'affichage d'une liste
    Bonjour à tous,

    J'ai un petit probleme qui n'est pas vital mais qui pourrait eventuellement induire un utilisateur en erreur...

    Je m'explique: j'utilise un formulaire pour faire une recherche sur ma bdd.

    Dans ce formulaire il y a des champs de texte mais aussi une liste que je rempli en récupérant les données d'une table.La liste est classée par ordre alphabétique (ORDER BY)

    Lorsque la recherche est lancée,je souhaite que la barre de recherche reste visible en haut de page...et, on arrive à mon problème: une fois que la page se recharge je perd l'information séletionnée dans la liste. Puisque la liste est classée par ordre alphabétique, par défaut c'est toujours le premier mot qui est visible.

    Y-a-t'il un moyen pour afficher la valeur de la liste sélectionnée par l'utilisateur tout en gardant l'ensemble des choix ???

    J'espère avoir été suffisament clair...

    Merci des vos réponses...

  2. #2
    Membre expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Points : 3 115
    Points
    3 115
    Par défaut
    Tu as juste à tester si la variable qui correspond à ta liste existe (je suppose qu'elle est dans un formulaire...). Et quand tu charges ta liste, tu compares à cette éventuelle valeur, si c'est la même tu ajoutes SELECTED="selected" à ton OPTION.
    Pas de questions techniques par MP, le forum est là pour ça et est plus efficace.

    Orthographe : une connexion (avec un x), un langage (sans u), une requête (un seul t), 'une quote' (avec qu), une syntaxe (sans h)

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    85
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 85
    Points : 77
    Points
    77
    Par défaut
    Merci pour ta réponse...

    J'ai essayé de l'appliquer mais j'ai une erreure de syntaxe

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Catégories :<select name="cat" >
    <?
    //on alimente la liste
    while ($data = mysql_fetch_array($result)) {
            echo '<option value="' , $data['nom'] , '" , if ($_POST['cat']) echo 'SELECTED="', $_POST['cat'],'"'; >' , stripslashes(htmlentities(trim($data['nom']))) , '</option>';
        }
    	?>
    	</select>
    Je suis pas sur de pouvoir mettre le if à cet endroit...

  4. #4
    Membre expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Points : 3 115
    Points
    3 115
    Par défaut
    Essaie ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <?
    //on alimente la liste
    while ($data = mysql_fetch_array($result)) {
            echo '<option value="' . $data['nom'] . '"';
            if (isset($_POST['cat']) && ($_POST['cat'] == $data['nom']))
                  echo ' SELECTED="selected"';
            echo '>' . stripslashes(htmlentities(trim($data['nom']))) . '</option>';
        }
    ?>
    Pas de questions techniques par MP, le forum est là pour ça et est plus efficace.

    Orthographe : une connexion (avec un x), un langage (sans u), une requête (un seul t), 'une quote' (avec qu), une syntaxe (sans h)

  5. #5
    Membre expérimenté
    Avatar de guitou12
    Homme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 077
    Points : 1 561
    Points
    1 561
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo '<option value="' , $data['nom'] , '" , if ($_POST['cat']) echo 'SELECTED="', $_POST['cat'],'"'; >' , stripslashes(htmlentities(trim($data['nom']))) , '</option>';
    Et le pire c'est que ça fonctionne avec des virgules !!!!!!!!

    Un peu de décomposition et l'utilisation du POINT ne fera pas de mal (cf signature)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $selected = '';
    if ($_POST['cat']) $selected = 'SELECTED="'. $_POST['cat']. '"';
    $nom = stripslashes(htmlentities(trim($data['nom'])));
     
    echo '<option value="' .$nom. '"'. $selected. ' >' .$nom. '</option>';
    Ex développeur Php / J2EE.
    Actuellement reconverti à SharePoint 2013

    Mon blog SP 2013

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    85
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 85
    Points : 77
    Points
    77
    Par défaut
    Pauvre Guitou qui ce fais du mal en voyant mon code...

    Allé promis,je copie/colle plus mes codes et je me mets au "."

    Merci pour vos réponses,un subtil mélange de vos 2 codes et j'obtiens pile ce qu'il me fallait.

  7. #7
    Membre expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Points : 3 115
    Points
    3 115
    Par défaut
    Cool alors, si c'est bon coche le merci.
    Pas de questions techniques par MP, le forum est là pour ça et est plus efficace.

    Orthographe : une connexion (avec un x), un langage (sans u), une requête (un seul t), 'une quote' (avec qu), une syntaxe (sans h)

  8. #8
    Membre expérimenté
    Avatar de guitou12
    Homme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 077
    Points : 1 561
    Points
    1 561
    Par défaut
    J'ai édité j'avais un peu zappé la moitié des trucs mais l'idée était là

    Ravi que ça vous plaise
    Ex développeur Php / J2EE.
    Actuellement reconverti à SharePoint 2013

    Mon blog SP 2013

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Visual Web] Affichage d'une liste d'objets sur SJSC
    Par Ashen-Shugar dans le forum NetBeans
    Réponses: 4
    Dernier message: 28/05/2006, 20h16
  2. Réponses: 7
    Dernier message: 06/03/2006, 15h38
  3. affichage d'une liste
    Par zidenne dans le forum Bases de données
    Réponses: 5
    Dernier message: 31/10/2005, 16h59
  4. [STRUTS/TAGS/COLLECTIONS] affichage d une liste
    Par hinanui dans le forum Struts 1
    Réponses: 22
    Dernier message: 04/07/2005, 14h03
  5. Pb d'affichage apres une liste déroulante
    Par loic.440 dans le forum ASP
    Réponses: 13
    Dernier message: 19/01/2005, 14h28

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo