Rechercher : dans
Par :

[PHP] Actualiser une page apres un select

Dernière réponse le 6 jun 2008 à 10:26:14 Denfqt, le 17 avr 2007 à 10:09:31 
 Signaler ce message aux modérateurs

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

Configuration: Windows 2000
Firefox 2.0.0.3

1

Dalida, le 17 avr 2007 à 11:37:25

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()"'

[ Mathieu ]
savoir rester faignant, c'est progresser en informatique. enfin, j'essaie...

Répondre à Dalida

2

Denfqt, le 17 avr 2007 à 11:41:22

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.

Répondre à Denfqt

3

Dalida, le 17 avr 2007 à 11:44:51

Oui, cochées, sélectionnées, me suis trompé.
ça te va le 'onChange' ?
[ Mathieu ]
savoir rester faignant, c'est progresser en informatique. enfin, j'essaie...

Répondre à Dalida

4

Denfqt, le 17 avr 2007 à 11:49:42

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)

Répondre à Denfqt

5

Dalida, le 17 avr 2007 à 12:15:10

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.
[ Mathieu ]
savoir rester faignant, c'est progresser en informatique. enfin, j'essaie...

Répondre à Dalida

6

Denfqt, le 17 avr 2007 à 14:36:18

Il me faut forcément une "value" sous la forme d'un entier

Répondre à Denfqt

7

 Viztwo, le 6 jun 2008 à 10:26:14
  • +1

Echo "selected='selected'" ;

Répondre à Viztwo