[PHP] Actualiser une page apres un select

Fermé
Denfqt Messages postés 26 Date d'inscription mardi 17 avril 2007 Statut Membre Dernière intervention 18 mai 2009 - 17 avril 2007 à 10:09
 Viztwo - 6 juin 2008 à 10:26
Bonjour

Je suis en train de réaliser un projet en PHP pour lequel j'aurais besoin de savoir comment faire pour que la page s'actualise automatiquement une fois que j'ai selectionné mon champ dans une liste déroulante (dont les valeurs proviennent d'une base de données). De plus, il faudrait qu'apres le rafraishissement de la page, la valeur précédemment sélectionnée reste affichée (ou "selected") dans la liste déroulante.

Voici un extrait de mon code ou apparait la liste déroulante. Pour faire simple:

-$db_andle = parametres de connexion à ma base de données
-Les boucles IF gèrent en l'état la position du "selected" dans la liste déroulante en le mettant où il faut dès lors qu'une valeur est sélectionnée.

<Select name='rue_depart' style='font-size:12'>
<?php
$Requete_rd = "select rue from rues";
$Resultat_rd = pg_exec( $db_handle, $Requete_rd);
if ( $rue_depart == -1)
{
echo "<option value='-1' selected>Sélectionnez une rue</option>";
for ($i_rd = 0 ; $i_rd < pg_numrows($Resultat_rd);$i_rd++)
{
$nom_rd = pg_fetch_array($Resultat_rd,$i_rd);
echo "<option value='$i_rd'>".$nom_rd["rue_droite"]."</option>";
}
}
else
{
echo "<option value='-1'>Sélectionnez une rue</option>";
for ($i_rd = 0 ; $i_rd < pg_numrows($Resultat_rd);$i_rd++)
{
$nom_rd = pg_fetch_array($Resultat_rd,$i_rd);
if ($i_rd==$rue_depart)
{
echo "<option value='$i_rd' selected>".$nom_rd["rue"]."</option>";
}
else
{
echo "<option value='$i_rd'>".$nom_rd["rue"]."</option>";
}
}
}
?>
</select>




Merci d'avance pour votre aide
A voir également:

3 réponses

echo "selected='selected'" ;
2
Dalida Messages postés 6728 Date d'inscription mardi 14 mai 2002 Statut Contributeur Dernière intervention 11 janvier 2016 920
17 avril 2007 à 11:37
salut,

que les <option> restent cochées ça doit être bon, non ?
tu peut coder pareillement le 'onChange' de <select> en lui disant de recharger la page.
onChange='parent.location="javascript:location.reload()"'

0
Denfqt Messages postés 26 Date d'inscription mardi 17 avril 2007 Statut Membre Dernière intervention 18 mai 2009 34
17 avril 2007 à 11:41
Il ne s'agit pas de case à cocher mais d'une liste dans un menu déroulant (signifié par les balises <option value = ...></option>)

Par ailleurs, ma question est justement de savoir comment faire pour actualiser la page une fois qu'on a selectionné une des valeurs de la liste.
0
Dalida Messages postés 6728 Date d'inscription mardi 14 mai 2002 Statut Contributeur Dernière intervention 11 janvier 2016 920
17 avril 2007 à 11:44
oui, cochées, sélectionnées, me suis trompé.
ça te va le 'onChange' ?
0
Denfqt Messages postés 26 Date d'inscription mardi 17 avril 2007 Statut Membre Dernière intervention 18 mai 2009 34 > Dalida Messages postés 6728 Date d'inscription mardi 14 mai 2002 Statut Contributeur Dernière intervention 11 janvier 2016
17 avril 2007 à 11:49
Avec cette façon de faire, ca recharge ma page initiale sans garder en mémoire la valeur qui a été selectionnée.

Une chose encore: ma page à rafraichir est à l'adresse locale suivante (en otant le http)

localhost/index.php?depart=0&rue_depart=-1&arrivee=0&rue_arrivee=-1

Ce qui m'intéresse donc c'est de rafraichir la page en fontion de la valeur selectionnée dans la liste et donc que le numéro de "rue_depart" change Par exemple rafraichir la page localhost/index.php?depart=0&rue_depart=1&arrivee=0&rue_arrivee=-1
si on a selectionné la 2eme valeur de la liste (la première valeur a pour identifiant 0)
0
Dalida Messages postés 6728 Date d'inscription mardi 14 mai 2002 Statut Contributeur Dernière intervention 11 janvier 2016 920 > Denfqt Messages postés 26 Date d'inscription mardi 17 avril 2007 Statut Membre Dernière intervention 18 mai 2009
17 avril 2007 à 12:15
tu peux utiliser le 'value' de chaque <option> pour envoyer vers une adresse précise que tu génèrera avec php.
j'ai répondu cela dans un autre post ce matin.
0
Denfqt Messages postés 26 Date d'inscription mardi 17 avril 2007 Statut Membre Dernière intervention 18 mai 2009 34 > Dalida Messages postés 6728 Date d'inscription mardi 14 mai 2002 Statut Contributeur Dernière intervention 11 janvier 2016
17 avril 2007 à 14:36
Il me faut forcément une "value" sous la forme d'un entier
0