champ SELECT

Eléphant du PHP | 57 Messages

15 janv. 2012, 00:50

Bonsoir a tous ;

voila j'ai un champs qui se nomme INFORMATION de la table USERS

Je reussi à ecrire dans la BDD le choix selectionné ci dessous mais j'arrive pas le recuperer en bidouillant avec ==> selected="selected"

c'est a dire que je voudrais lors de l'acces à l'espace membre que le selecteur se positionne par rapport a ce qui est renseigné dans le champ INFORMATION


pour mon HTML j'ai ceci :
<select name="info">
		
	    <option value="" >veuillez selectionner</option>
	    <option value="teste1">teste1</option>
	    <option value="teste2">teste2</option>
	    <option value="teste3">teste3</option>


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

15 janv. 2012, 01:03

salut

et qu'elle est ton code ?

le principe est simple il s'agit d'un simple if.

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

Eléphant du PHP | 57 Messages

15 janv. 2012, 07:22

j'ai essayer ceci mais marche pas il recupere bien l'info mais c'est toujours la derniere => teste3:

Je pense qu'il faut faire une comparaison entre la valeur du champ et de l'input select mais j'arrive pas à la faire fonctionner
 // lancement de la requete
    $sql = 'SELECT information from users where id="'.mysql_real_escape_string($_SESSION['userid']).'"';
    // on lance la requête (mysql_query) et on impose un message d'erreur si la requête ne se passe pas bien (or die)
    $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());  
     
    // on recupere le resultat sous forme d'un tableau
    $data = mysql_fetch_array($req);  
     
    // on libère l'espace mémoire alloué pour cette interrogation de la base
    mysql_free_result ($req);  
    mysql_close ();

<?php
	if ($data[information] == $_POST[information])
{
    $selected_1 = "selected='selected'";
}
else
{
      $selected_1 = "";
}
?> 
<select name="information">
               
            <option value=""  >veuillez selectionner</option>
            <option value="teste1"<?php echo $selected_1; ?>>teste1</option>
            <option value="teste2"<?php echo $selected_1; ?>>teste2</option>
            <option value="teste3"<?php echo $selected_1; ?>>teste3</option></select>

 

Mammouth du PHP | 2278 Messages

15 janv. 2012, 09:12

oeuf corse:
il faut définir :
$selected_1 ="selected ='selected'";
$selected_2 ="selected =''";
$selected_3 ="selected =''";
ou
$selected_2 ="selected ='selected'";
$selected_1 ="selected =''";
$selected_3 ="selected =''";
ou
$selected_3 ="selected ='selected'";
$selected_2 ="selected =''";
$selected_1 ="selected =''";
suivant la valeur de $POST['information']
Vanitas vanitatum et omnia vanitas
Mes derniers livres :
Sauvez les Mots chez BoD,
Tous les chemins mènent à ROM chez BoD

Eléphant du PHP | 57 Messages

15 janv. 2012, 10:21

comment mettrais tu les balise la dedans moi jai mit la meme sur chaque ligne est ce bon ou pas ==>

<select name="information">

<option value="" >veuillez selectionner</option>
<option value="teste1"<?php echo $selected_1; ?>>teste1</option>
<option value="teste2"<?php echo $selected_1; ?>>teste2</option>
<option value="teste3"<?php echo $selected_1; ?>>teste3</option></select>

ViPHP
xTG
ViPHP | 7331 Messages

15 janv. 2012, 10:34

Si tu mets la même à chaque fois cela n'a pas de sens.
Faut la 1, la 2 et la 3. ;)

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

15 janv. 2012, 10:35

Ce qu'il faut c'est générer le code html qui va bien (et jamais perdre cette notion de vue).

Dans ton cas, il faut qu'il y ait écrit "selected" dans l'option qui doit être sélectionnée et uniquement dans celle là. Il faut donc tester pour chaque option si sa valeur est celle qui doit être sélectionnée. Si oui tu ajoutes l'attribut, si non, tu ne l'ajoutes pas.

Si tu utilises $selected_1 dans chaque option, tu auras soit un selected dans chaque option, soit rien dans chaque option... :)
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Eléphant du PHP | 57 Messages

15 janv. 2012, 11:04

donc mettree un select different sur chaque ligne c'est ça ???? comme :
<select name="information">

<option value="" >veuillez selectionner</option>
<option value="teste1"<?php echo $selected_1; ?>>teste1</option>
<option value="teste2"<?php echo $selected_2; ?>>teste2</option>
<option value="teste3"<?php echo $selected_3; ?>>teste3</option></select>

Et en PHP ça donnera quoi avec l'exemple ci-dessus ?

<?php
	if ($data[information] == $_POST[information])
{
    ????????????????
}
else
{
????????????????
}
?> 

Je ne sais pas trop quoi mettre par rapport au HTML ci dessus