Page 1 sur 1
encore un probleme de selected
Posté : 12 juil. 2010, 21:50
par graffx
salut a tous, alors mon probleme va vite etre expliqué:
si ma variable dans l' url ne vaut rien ,, (c=bla=v=)
alors c' est "dans le monde qui est selectionné, je comprned pas pourquoi!
<form>
<select name="v" method="get" action="index.php" onchange='submit()'>
<option value="wld" <?php if(isset($v) && $v == "wld"){ echo 'selected="selected"'; } ?>>Dans le monde</option>
<option value="fr" <?php if(isset($v) && $v == "fr"){ echo 'selected="selected"'; } ?>>En France</option>
<option value="ttc" <?php if(isset($v) && $v == "ttc"){ echo 'selected="selected"'; } ?>>Toutes les communes</option>
<option disabled style="background-color:#CCFFFF" <?php if(!isset($v) && ($v == "")){ echo 'selected="selected"'; } ?>>Dans votre commune</option>
<?php
$l2 = mysql_query('SELECT distinct * FROM villes ORDER BY ville ASC')or die(mysql_error());
while ($l = mysql_fetch_array($l2))
{
$selected=($l["ville"]==$_GET["v"])?" selected":"" ;
echo '<option '.$selected.'>'.$l["ville"].'</option>';
}
?>
</select>
</form>
Re: encore un probleme de selected
Posté : 12 juil. 2010, 21:52
par stealth35
la première est sélectionné par default
Re: encore un probleme de selected
Posté : 12 juil. 2010, 22:39
par graffx
Oui je suis d' accord, mais pourquoi ?
dans cette partie
$l2 = mysql_query('SELECT distinct * FROM villes ORDER BY ville ASC')or die(mysql_error());
while ($l = mysql_fetch_array($l2))
{
$selected=($l["ville"]==$_GET["v"])?" selected":"" ;
echo '<option '.$selected.'>'.$l["ville"].'</option>';
}
il faudrait que je puisse rajouter une condition si v= rien alors "dans cette commune" sinon v= la ville selectionnée
Re: encore un probleme de selected
Posté : 12 juil. 2010, 22:47
par stealth35
c'est le html qui est comme ca, si y'a rien en selected c'est le premier élément qui s'affiche c'est logique, tu peux créer un autre premier élément qu'a pas de valeur genre : "sélectionner blabla"

Re: encore un probleme de selected
Posté : 12 juil. 2010, 22:55
par graffx
Non ca ne peut pas marche, mes liens sont de type c=infos&v=<?php echo $ville; ?>
ca permet de garder la valeur selectionnée.
Il faut que je trouve le moyen de faire comme j' ai dit, mais je suis en train de tout melanger, mais bon je vais aller me coucher on verra demain

Re: encore un probleme de selected
Posté : 13 juil. 2010, 19:32
par graffx
Bon ben voila, je pete un cable. Je ne vois aucune explication logique pour que quand je clique sur le lien d' accueil et sur "toute l" actualité", la liste reste bien sur "dans votre commun", par contre quand je clique sur faits d'hiver (fd), divertissement (d) ou sports (sp), la liste change pour se metre sur "dans le monde". Je craque, je ne trouve pas d' explication logique. La seule difference et que dans les liens posant problemes envers la liste, l' url rajoute la variable v= qui reste NULL si on n' a pas choisi de ville. Mais ca ne devrait pas poser souci! HAAAAAAAA!!!!
Voici les liens:
<td valign="middle"><img src="images/menu/puce.png" width="10" height="10" /></td>
<td valign="middle"><a href="?c=fd&v=<?php echo $v; ?>">Faits divers </a></td>
</tr>
<tr align="left">
<td valign="middle"><img src="images/menu/puce.png" width="10" height="10" /></td>
<td valign="middle"><a href="?c=d&v=<?php echo $v; ?>">Divertissements</a></td>
</tr>
<tr align="left">
<td valign="middle"><img src="images/menu/puce.png" width="10" height="10" /></td>
<td valign="middle"><a href="?c=sp&v=<?php echo $v; ?>">Sports</a></td>
<form>
<select name="v" method="get" action="index.php" onchange='submit()'>
<option value="wld" <?php if(isset($v) && $v == "wld"){ echo 'selected="selected"'; } ?>>Dans le monde</option>
<option value="fr" <?php if(isset($v) && $v == "fr"){ echo 'selected="selected"'; } ?>>En France</option>
<option value="ttc" <?php if(isset($v) && $v == "ttc"){ echo 'selected="selected"'; } ?>>Toutes les communes</option>
<option disabled style="background-color:#CCFFFF" <?php if(!isset($v) && ($v == "")){ echo 'selected="selected"'; } ?>>Dans votre commune</option>
<?php
$l2 = mysql_query('SELECT distinct * FROM villes ORDER BY ville ASC')or die(mysql_error());
while ($l = mysql_fetch_array($l2))
{
$selected=($l["ville"]==$_GET["v"])?" selected":"" ;
echo '<option '.$selected.'>'.$l["ville"].'</option>';
}
?>
</select>
</form>
<?php
if(!isset($_GET['c']))
{
$actu2 = mysql_query('SELECT * FROM actus ORDER BY id DESC')or die(mysql_error());
}
elseif(isset($_GET['c'])&&($_GET['c'] == 'ttactu')&&(!isset($_GET['v'])))
{
$actu2 = mysql_query('SELECT * FROM actus ORDER BY id DESC')or die(mysql_error());
}
elseif(isset($_GET['c'])&&($_GET['c'] == 'ttactu'))
{
$actu2 = mysql_query('SELECT * FROM actus ORDER BY id DESC')or die(mysql_error());
}
elseif(isset($_GET['c'])&&($_GET['c'] == 'fd')&&(isset($_GET['v'])))
{
$actu2 = mysql_query('SELECT * FROM actus WHERE rubrique = "fd" AND ville = $v ORDER BY id DESC')or die(mysql_error());
}
elseif(isset($_GET['c'])&&($_GET['c'] == 'd'))
{
$actu2 = mysql_query('SELECT * FROM actus WHERE rubrique = "d" ORDER BY id DESC')or die(mysql_error());
}
elseif(isset($_GET['c'])&&($_GET['c'] == 'sp'))
{
$actu2 = mysql_query('SELECT * FROM actus WHERE rubrique = "sp" ORDER BY id DESC')or die(mysql_error());
}
?>
Re: encore un probleme de selected
Posté : 13 juil. 2010, 20:07
par graffx
Hooo j' ai enfin trouvé! que d' effort!!!!!!
probleme de logique, le resultat est la pourtant!!!
bon et bien voila, ha oui! dernier souci un peu plus compliqué et je ne vous embete plus!!!
quand je veux passer dans le formulaire une url comme ca:
action="c=bla&v"
je me retrouve au final avec des caracteres speciaux dans l' url, je suis piegé!
j' ai essayé rawurldecode urldecode avec encode aussi, je crois qu' il n' y a plus de solution.
Bon ben tant pis, je vais reflechir sur une facon de tricher, merci pour votre aide les amis , je vous tiens au courant, on sait jamais, ca peut servir a quelqu'un!
Re: encore un probleme de selected
Posté : 13 juil. 2010, 20:11
par stealth35
tu peux passé des tableaux via les paramètres
genre :
action['c']=bla&action['v']=truc
Re: encore un probleme de selected
Posté : 13 juil. 2010, 20:18
par graffx
Des tableaux? Donc faudrait que je parte sur un array?
parce que je pensai modifier cette partie:
<?php
$l2 = mysql_query('SELECT distinct * FROM villes ORDER BY ville ASC')or die(mysql_error());
while ($l = mysql_fetch_array($l2))
{
$selected=($l["ville"]==$_GET["v"])?" selected":"" ;
echo '<option '.$selected.'>'.$l["ville"].'</option>';
}
?>
mais si je fais un :
$selected="c="$c"&"($l["ville"]==$_GET["v"])?" selected":"" ;
Ben il aime pas du tout, je continue mes recherches!
Re: encore un probleme de selected
Posté : 13 juil. 2010, 20:23
par stealth35
le problème viens de ton "action" non ?
si tu fais un print_r($_GET) ca donne quoi ?
Re: encore un probleme de selected
Posté : 13 juil. 2010, 21:42
par graffx
En fait c' est la synthaxe qui est pas bonne, je trouve pas la bonne facon de l' ecrire!
ben ca me donne mes deux variables v et c si les deux sont declarées :/
Re: encore un probleme de selected
Posté : 14 juil. 2010, 09:55
par Ryle
J'ai pas tout relu, mais à priori il y a beaucoup plus simple
Je ne vois aucune explication logique pour que quand je clique sur le lien d' accueil et sur "toute l" actualité", la liste reste bien sur "dans votre commun"
if (!isset($_GET['v']) && ...) // si v n'est pas défini dans l'url
A partir de là tu peux tester si l'option est "dans votre commune" et que v n'est pas définie pour afficher un selected, ou tester si v est définie, en fonction de sa valeur, sélectionner la bonne option

Re: encore un probleme de selected
Posté : 14 juil. 2010, 14:38
par graffx
c' est pas ce qu ej' ai fait? :p
<option value="wld" <?php if(isset($v) && $v == "wld"){ echo 'selected="selected"'; } ?>>Dans le monde</option>
<option value="fr" <?php if(isset($v) && $v == "fr"){ echo 'selected="selected"'; } ?>>En France</option>
<option value="ttc" <?php if(isset($v) && $v == "ttc"){ echo 'selected="selected"'; } ?>>Toutes les
Re: encore un probleme de selected
Posté : 14 juil. 2010, 17:09
par AB
Une remarque, pour simplifier la récupération des variables de ton formulaire pourquoi ne pas avoir employé la méthode post plutôt que get ?
Re: encore un probleme de selected
Posté : 14 juil. 2010, 19:49
par graffx
Pour garder justement les valeurs plus facilement, non?