Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1747 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  [php]selected dans un menu deroulant

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[php]selected dans un menu deroulant

n°876666
attentio
Posté le 19-10-2004 à 03:19:21  profilanswer
 

bonjour!
G un menu deroulant qui permet,entre autre, d'actualiser ma page, mais en meme temps je voudrais que lorsque la nouvelle page est affiché il fasse le SELECTED sur le lien sur lequel je viens de cliquer.
je ne sais pas trop comment m'y prendre... merci de votre aide

Code :
  1. <?
  2. echo'<FORM method="post">
  3. <SELECT NAME="ListeUrl" SIZE=1 onChange="ChangeUrl(this.form)">';
  4. for($n=0;$n<mysql_num_rows($req_monnaie);$n++)
  5. {
  6. $resultatmonnaie =mysql_fetch_array($req_monnaie);
  7. //$selection="selected";
  8. echo"<option value='index.php?page=articles_detail&ref=".$article['ref']."&modele_id=".$article['modele_id']."'".$selection.">" . $resultatmonnaie['symbole'] ."</option>";
  9. }
  10.   echo"</SELECT></FORM>";
  11. ?>


Message édité par attentio le 24-03-2005 à 21:04:02

---------------
L'ordinateur a de la mémoire mais aucun souvenir ...
mood
Publicité
Posté le 19-10-2004 à 03:19:21  profilanswer
 

n°876667
KdZ'
Simple®
Posté le 19-10-2004 à 04:52:40  profilanswer
 

Hum comme ça ?
 

Code :
  1. <?php 
  2.     echo'<FORM method="post" name="bidon">
  3.    <SELECT NAME="ListeUrl" SIZE="1" onChange="ChangeUrl(this.form)">'; 
  4.     for($n=0;$article =mysql_fetch_array;$n++)
  5.     {
  6.     $selection='';
  7.     if($_GET['modele_id']==$article['modele_id'])
  8.      $selection=' selected="selected"';
  9.     echo'<option value="index.php?page=articles_detail&amp;ref='.$article['ref'].'&amp;modele_id='.$article['modele_id'].'"'.$selection.'>'.$resultatmonnaie['symbole'].'</option>';
  10.    } 
  11.      echo'</SELECT></FORM>';
  12.    ?>


Message édité par KdZ' le 19-10-2004 à 05:07:10
n°876671
KdZ'
Simple®
Posté le 19-10-2004 à 05:09:28  profilanswer
 

En fait c'est juste pour te donner l'idée parceque sinon ce code est pas bon ($resultatmonnaie['symbole'] pas definie)
 
Ce qu'il faut retenir c'est ça :  
# $selection='';
#     if($_GET['modele_id']==$article['modele_id'])  
#         $selection=' selected="selected"';  

n°876734
attentio
Posté le 19-10-2004 à 09:23:26  profilanswer
 

j'ai fais ca:

Code :
  1. echo'<FORM method="post">
  2. <SELECT NAME="ListeUrl" SIZE=1 onChange="ChangeUrl(this.form)">';
  3. for($n=0;$n<mysql_num_rows($req_monnaie);$n++)
  4. {
  5. $resultatmonnaie =mysql_fetch_array($req_monnaie);
  6. $selection='';
  7.     if($_GET['modele_id']==$article['modele_id']) 
  8.         $selection=' selected="selected"'; 
  9. echo"<option value='index.php?page=detail&ref=".$article['ref']."&modele_id=".$article['modele_id']."'".$selection.">" . $resultatmonnaie['symbole'] ."</option>";
  10. }
  11. echo'<input type="text" name="session_monnaie" value="'.$resultatmonnaie['valeur'].'">';
  12.   echo"</SELECT></FORM>";


mais le pb C qu'il reste bloqué sur le dernier enregistrement.
 
pour info, deja, avant, dans mon input text il n'affichait que mon dernier enregistrement .
d'ou peut venir mon erreur :??:  
 
merci de ton aide


Message édité par attentio le 19-10-2004 à 11:49:32
n°876918
KdZ'
Simple®
Posté le 19-10-2004 à 12:36:33  profilanswer
 

tu veux dire que tu n'avais qu'un seul <option></option> ?
Montre ta requete req_monnaie ;)

n°876928
attentio
Posté le 19-10-2004 à 12:51:42  profilanswer
 

tiens !  :)  
$req_monnaie = mysql_query("SELECT * FROM monnaies" );


Message édité par attentio le 19-10-2004 à 12:52:01
n°876930
attentio
Posté le 19-10-2004 à 12:54:08  profilanswer
 

auusi  ...pour info
si je fais un print_r($resultatmonnaie);  
il me renvoi:  
Array ( [0] => 3 [monnaie_id] => 3 [1] => yen [nom_monnaie] => yen [2] => 136.35 [valeur] => 136.35 [3] => ¥ [symbole] => ¥ ) fermer  
 
dans ma table monnaies j'ai les champs :  
monnaie_id | nom_monnaie | valeur | symbole  
 
et dedans G comme enregistrements  
 
1 | dollar |1.25 | $  
2 | livre |0.86 | £  
3 | yen | 136.35 | ¥
 
merci de ton aide


Message édité par attentio le 19-10-2004 à 13:01:29
n°876933
attentio
Posté le 19-10-2004 à 13:00:40  profilanswer
 

... mon <option> est dans une boucle

n°876948
KangOl
Profil : pointeur
Posté le 19-10-2004 à 13:27:58  profilanswer
 

deja ca c'est pas bien :o

Code :
  1. for($n=0;$n<mysql_num_rows($req_monnaie);$n++)


 
ca sert a rien de recalculer le nombre de lignes retournées a chaque fois, il est fixe...
 
un while sur mysql_fetch_array serait mieux...


---------------
Nos estans firs di nosse pitite patreye...
n°877043
attentio
Posté le 19-10-2004 à 15:16:43  profilanswer
 

en fait ce qu'il se passe, toutes les <option> sont selected="selected" ... a l'aide ....


Message édité par attentio le 19-10-2004 à 15:18:22
mood
Publicité
Posté le 19-10-2004 à 15:16:43  profilanswer
 

n°877095
attentio
Posté le 19-10-2004 à 16:08:04  profilanswer
 

plus simplement ma page devrait ressembler a ceci :

Code :
  1. <?
  2. $connexion=mysql_connect('localhost', 'root','');
  3. mysql_select_db('ma_base',$connexion);
  4. $req_monnaie = mysql_query("SELECT * FROM monnaies" );
  5. ?>
  6. <html><head></head><body>
  7. <script language="JavaScript">
  8. function ChangeUrl(formulaire_monnaies)
  9. {
  10.  location.href = formulaire_monnaies.ListeUrl.options[formulaire_monnaies.ListeUrl.selectedIndex].value;
  11. }
  12. </script>
  13. <?
  14. echo'<FORM method="post">';
  15. echo'<SELECT NAME="ListeUrl" SIZE=1 onChange="ChangeUrl(this.form)">';
  16. for($n=0;$n<mysql_num_rows($req_monnaie);$n++)
  17. {
  18. $resultatmonnaie =mysql_fetch_array($req_monnaie);
  19.         $selection=' selected'; 
  20. echo"<option value='index.php'".$selection.">" . $resultatmonnaie['symbole'] ."</option>";
  21. }
  22.   echo"</SELECT></FORM>";
  23. echo'1 euro = '. $resultatmonnaie['valeur'] .$resultatmonnaie['symbole'].'';
  24. ?>
  25. </body></html>


...sauf que le select ne fonctionne pas
 
et ma table :

Code :
  1. #
  2. # Structure de la table `monnaies`
  3. #
  4. CREATE TABLE `monnaies` (
  5.   `monnaie_id` tinyint(4) NOT NULL auto_increment,
  6.   `nom_monnaie` varchar(30) NOT NULL default '',
  7.   `valeur` float(4,2) NOT NULL default '0.00',
  8.   `symbole` varchar(10) NOT NULL default '',
  9.   PRIMARY KEY  (`monnaie_id`)
  10. ) TYPE=MyISAM AUTO_INCREMENT=5 ;
  11. #
  12. # Contenu de la table `monnaies`
  13. #
  14. INSERT INTO `monnaies` VALUES (1, 'dollar', '1.25', 'UDS');
  15. INSERT INTO `monnaies` VALUES (2, 'livre', '0.69', 'GBL');
  16. INSERT INTO `monnaies` VALUES (3, 'yen', '136.35', '¥')

n°877201
sonikbuzz
echo &#034;Hello World!&#034;;
Posté le 19-10-2004 à 17:02:25  profilanswer
 

echo("<SELECT NAME='mode_paiment'><OPTION selected>mode paiement</OPTION>" );
for($x=0;$x<$y;$x++)
{
 
 if([i]condition pour select
)
 {
    $select = "selected";
 }
("<OPTION $select >$var</OPTION>" );
$select="";
}    [/i]
 
un truc com ca

n°877870
naeh
Posté le 20-10-2004 à 13:04:08  profilanswer
 

comme dit plus haut un while est plus que le bienvenue dans ce cas la (sur tout pas de for :p)
 
while($ligne = mysql_fetch_array($req_monnaie) {
//test de selected :
if(je ne sais pas ca depend de ton code :)) {
$select = "selected" ;
}
//et la tu affiches :
echo "<option value="veleur" $select>ton truc index.php?...etc.</option>
}
 
normalement ca devrait marcher avec ca et puis c'est beaucoup plus simple :)

n°880974
misterping​uin
Posté le 23-10-2004 à 20:43:57  profilanswer
 

a coup sur ce qui te fais planter c'est que tu fais  
if (condition) $selected = "selected";
avec juste cette ligne tous les <option></option> seront affectés, il faut que tu rajoutes :
else $selected = '';


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  [php]selected dans un menu deroulant

 

Sujets relatifs
Bouton "modifier les sources" ou menu affichage/source[PHP] menu deroulant qui actualise la page
[Flash] rollover sur menu dynamiqueCherche menu déroulant en C
[Perl]Menu dans un script perlmenu arborescence (tree)
Comment centrer un menu en CSS avec Internet Explorer ?Probleme menu sur mon site
Plus de sujets relatifs à : [php]selected dans un menu deroulant


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR