Page 1 sur 1
champ SELECT
Posté : 15 janv. 2012, 00:50
par zerodegre
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>
Re: champ SELECT
Posté : 15 janv. 2012, 01:03
par moogli
salut
et qu'elle est ton code ?
le principe est simple il s'agit d'un simple if.
@+
Re: champ SELECT
Posté : 15 janv. 2012, 07:22
par zerodegre
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>
Re: champ SELECT
Posté : 15 janv. 2012, 09:12
par sirakawa
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']
Re: champ SELECT
Posté : 15 janv. 2012, 10:21
par zerodegre
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>
Re: champ SELECT
Posté : 15 janv. 2012, 10:34
par xTG
Si tu mets la même à chaque fois cela n'a pas de sens.
Faut la 1, la 2 et la 3.

Re: champ SELECT
Posté : 15 janv. 2012, 10:35
par Ryle
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...

Re: champ SELECT
Posté : 15 janv. 2012, 11:04
par zerodegre
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