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 :

Liste déroulante pour sélection à partir d'un tableau PHP


Sujet :

Langage PHP

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    144
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 144
    Par défaut Liste déroulante pour sélection à partir d'un tableau PHP
    bonjour a tous

    J ai le pb suivant sur un formulaire :

    j ai un tableau de valeurs :

    $var[1]=valeur1;
    $var[2]=valeur2;
    $var[3]=valeur3;
    $var[4]=valeur4;

    etc.....

    je veux les afficher dans un select recuperer la valeur selectionnée et la reafficher en cas de non soumission du formulaire.



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <select name='cat' class='select'>
    <option  value=''>Catégories</option>
    ";	
    for($i = 1; $i < 32; $i++)
    {
    echo "<option value='$i'"; if ($cat==$cat[$i]) echo 'selected';echo ">$cat[$i]</option>";
    }
    echo"		
    </select>
    je recuper ma valeur ainsi :

    $cat = $_POST['cat'];


    le pb est lesuivant :

    Ca marche pas.Le select reaffiche l option selectionnee mais seulement la premiere lettre, comme toutes les autres options, d ailleurs

    Par avance merci de m aider a comprendre d ou vient mon erreur

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    1 349
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 349
    Par défaut
    d'ou viens ton $cat[$i]

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    144
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 144
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    <select name='var' class='select'>
    <option  value='var'>Catégories</option>
    ";	
    for($i = 1; $i < 32; $i++)
    {
    echo "<option value='$i'"; if ($var==$var[$i]) echo 'selected';echo ">$var[$i]</option>";
    }
    echo"		
    </select>
     
    et
     
    $var = $_POST['var']
    j ajoute que contrairement a ce que je disais dans mon premier message, ça ne marche pas du tout

  4. #4
    Membre Expert
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    1 349
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 349
    Par défaut
    ce la ne change rien a quoi correspond ton $var[$i]

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    144
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 144
    Par défaut
    a mon tableau de valeurs

    $var[1]=valeur1;
    $var[2]=valeur2;
    $var[3]=valeur3;
    $var[4]=valeur4;

  6. #6
    Membre Expert
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    1 349
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 349
    Par défaut
    autant pour moi je n'avais pas vu dans ton premier post

    remplace
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    if ($var==$var[$i])
    par

    car ton $_POST retournera la value de ton select qui est 1,2,3,4,..

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    144
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 144
    Par défaut
    ça ne m affice toujours que la premiere lettre de chaque option

  8. #8
    Membre Expert
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    1 349
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 349
    Par défaut
    renomme ton $var déferrement il peut avoir confusion entre ton tableau et la variable

  9. #9
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    144
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 144
    Par défaut
    Je ne saisis pas bien ce que tu veux dire

    Si je renomme ma variable, rien ne s'affiche

  10. #10
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2008
    Messages
    60
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 60
    Par défaut
    As-tu bien initialisé ton compteur i ?? (au cas oû )

  11. #11
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    144
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 144
    Par défaut
    voila le code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
     
    $cat[1] = 'Actualité-Média-Information';
    $cat[2] = 'Annonces';
    $cat[3] = 'Arts et Culture';
    $cat[4] = 'Bons plans';
    $cat[5] = 'Cadeaux';
    $cat[6] = 'Charme';
    $cat[7] = 'Communautaire';
    $cat[8] = 'Concours';
    $cat[9] = 'Emploi-Formation';
    $cat[10] = 'Famille';
    $cat[11] = 'Finance';
    $cat[12] = 'Fleurs-Jardin';
    $cat[13] = 'Gastronomie-Vin';
    $cat[14] = 'Immobilier';
    $cat[15] = 'Informatique';
    $cat[16] = 'Internet';
    $cat[17] = 'Jeux-Vidéos';
    $cat[18] = 'Jeux-Loteries-Casino';
    $cat[19] = 'Jouets-Jeux de société';
    $cat[20] = 'Librairie-Presse';
    $cat[21] = 'Loisirs';
    $cat[22] = 'Maison';
    $cat[23] = 'Mode';
    $cat[24] = 'Musique';
    $cat[25] = 'PTR-PTC-autosurf';
    $cat[26] = 'Portail';
    $cat[27] = 'Professionnel';
    $cat[28] = 'Rencontres';
    $cat[29] = 'Santé-Beauté';
    $cat[30] = 'Sciences';
    $cat[31] = 'Son-Photo-Vidéo';
    $cat[32] = 'Sport';
    $cat[33] = 'Télécommunications';
    $cat[34] = 'Transports';
    $cat[35] = 'Vie pratique';
    $cat[36] = 'Voyages';
    $cat[37] = 'X-adultes';
    $cat[38] = 'Divers';
     
    echo "
    <form method='post' action='inscription-site.php' name='inscription-site' id='idform'>
    <table>	
    	<tr>
    		<td>
    		<select name='cat'>";
        	for($i = 1; $i < 32; $i++)
          	{
            $selected = (isset($_POST['cat']) and $_POST['cat'] == $i)?'selected="selected"':'';
            echo "<option value='$i'"; if ($cat == $i){echo"selected=selected";}echo ">$cat[$i]</option>";
          	}   
    		echo" 
      		</select>
    		</td>		
    	</tr>	
    </table>
    le resultat est visible ici :
    http://www.vivannuaire.fr/inscription-site.php

  12. #12
    Membre Expert
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    1 349
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 349
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    echo "
    <form method='post'  name='inscription-site' id='idform'>
    <table>	
    	<tr>
    		<td>
    		<select name='cat'>";
        	for($i = 1; $i < 32; $i++)
          	{
            echo '<option value="'.$i.'"';
    		if (isset($_POST['cat']) && $_POST['cat'] == $i) echo "selected";
    		echo '>'.$cat[$i].'</option>';
          	}   
     
    ?>
      		</select>
    		</td>		
    	</tr>	
    </table>
    essaye ça

Discussions similaires

  1. Réponses: 1
    Dernier message: 26/08/2007, 22h21
  2. Réponses: 2
    Dernier message: 01/09/2006, 00h02
  3. Réponses: 41
    Dernier message: 06/02/2006, 23h49
  4. Listes déroulantes pour variables dans un état
    Par Oluha dans le forum Access
    Réponses: 6
    Dernier message: 06/02/2006, 16h09
  5. [composant] liste déroulante pour une propriété ?
    Par BoBoToTo dans le forum Composants VCL
    Réponses: 4
    Dernier message: 24/05/2004, 16h16

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