Phpsources Forums

Vous n'êtes pas identifié.

#1 15-05-2008 12:13:41

lili23
Nouveau membre
Date d'inscription: 15-05-2008
Messages: 9

[Résolu] Liste déroulante

Salut tout le monde,
J'ai un petit problème,
dans une liste déroulante j'ai mis une liste des noms des cours à partir de ma BDD(une requête), chaque cours mène à une page différente, comment je fais ça ?
Merci d'avance.

Hors ligne

 

#2 15-05-2008 12:45:28

KOogar
Administrateur
Lieu: PHP Rapide !!
Date d'inscription: 21-12-2007
Messages: 513

Re: [Résolu] Liste déroulante

Bonjour et bienvenue sur phps smile

Assez de blabla, voici un exemple de ce que tu demandes.

Tu dois :

1° faire la connection sql, donc remplir tes logs de connection
2° te connecter a la bonne table, donc dans la requete tu doit mettre le nom du champ qui a l'url et le nom de ta table
$sql = ("SELECT nom_de_ton_champ FROM nom_de_ta_table");


Code:

/*******************************/
/*                                                           */
/*                CONNECTION                      */
/*                                                           */
/*******************************/

 
$mabasededonnee="nombase";
 
$connection = mysql_connect("localhost","root","motdepasse");
// test la connection
if ( ! $connection )
  die ("connection impossible");
  // Connecte la base
  mysql_select_db($mabasededonnee) or die ("pas de connection"); 

/*******************************/
/*                                                           */
/*                        LISTE                          */
/*                                                           */
/*******************************/

<select name="nom_url">
<?php 
$sql = ("SELECT nom_de_ton_champ FROM nom_de_ta_table");
$result = mysql_query($sql); 

while ($row = mysql_fetch_assoc($result)) { 
echo '<option value="'.$row['nom'].'.html"> '.$row['nom'].' </option>';
} 
?>
</select>

Hors ligne

 

#3 15-05-2008 13:09:59

lili23
Nouveau membre
Date d'inscription: 15-05-2008
Messages: 9

Re: [Résolu] Liste déroulante

Merci KOogar smile
je vais essayer d'appliquer ton code.

Hors ligne

 

#4 15-05-2008 14:48:33

lili23
Nouveau membre
Date d'inscription: 15-05-2008
Messages: 9

Re: [Résolu] Liste déroulante

salut,
bon, j'ai essayer avec ton code..au début ça n a pas marché , mais après un petit changement  ça marche..
Merci beaucoup
Maintenant j'ai un autre problème tongue

voici mon code :

Code:

 <form  method="post" name="listepages" >
     Voici la liste des modules à évaluer :
       <select name="listepages"  onChange="chgpage(this.form)"> 
      <option value="">La liste des modules </option>
       
       <?php
       mysql_connect("localhost", "root", "");
  mysql_select_db("projet");
  $repons= mysql_query("SELECT  nom_mod, login, type_mod FROM module, personne, inscrire WHERE inscrire.id_personne = personne.id_personne AND module.id_mod = inscrire.id_mod AND personne.login = '$pseudo'") or die(mysql_error());
  while($result= mysql_fetch_array($repons))
  {
 
  if($result['type_mod'] == 'cours+td+tp'){
           ?>  
            <option value="evalessaicours+td+tp.php">   <?php echo $result['nom_mod']; ?> </option><?php
        }
  if($result['type_mod'] == 'cours+td'){
           ?>  
            <option value="evalessaicours+td.php">   <?php echo $result['nom_mod']; ?> </option><?php
           }
  if($result['type_mod'] == 'cours'){
           ?>  
            <option value="evalessaicours.php">   <?php echo $result['nom_mod']; ?> </option><?php
            }
           
 }
            ?>
         
       </select>
       </form>

voilà
le problème que je ne sais pas comment faire pour récupérer dans une autre page php le 'nom_mod' sélectionne à partir de cette liste déroulante !

Merci encore wink

Hors ligne

 

#5 15-05-2008 15:30:08

KOogar
Administrateur
Lieu: PHP Rapide !!
Date d'inscription: 21-12-2007
Messages: 513

Re: [Résolu] Liste déroulante

La redirection sera tout en haut de ta page.

1° on passe une variable en hidden a partir du formulaire pour lancer ou pas la redirection ($load)
2° on ajoute un ptit JS pour recharger la page onchange="form.submit();" en mettant correctement le nom qu'on a donner au formaulaire (j'ai pris '"nom" dans l'exemple)
3° et la on fait la redirection avec la fonction header une fois que la page est rechargé.


Code:

<?php 
  // a mettre tout tout en haut de ta page
  // redirection 

 $load = $_POST_['load'];
 $url = $_POST_['listepages'];
 if ($load == 1)
 { 
 header("location:$url");
 exit(); 
  } 

 ?> 


<form  method="post" name="form" >

<input type="hidden" name="load" value="1">

     Voici la liste des modules à évaluer :
       <select name="listepages"  onchange="form.submit();">
      <option value="">La liste des modules </option>
       
       <?php
       mysql_connect("localhost", "root", "");
  mysql_select_db("projet");
  $repons= mysql_query("SELECT  nom_mod, login, type_mod FROM module, personne, inscrire WHERE inscrire.id_personne = personne.id_personne AND module.id_mod = inscrire.id_mod AND personne.login = '$pseudo'") or die(mysql_error());
  while($result= mysql_fetch_array($repons))
  {  ?>
            <option value="evalessai<?php echo ''.$result['type_mod'].'';?>">   <?php echo $result['nom_mod']; ?> </option><?php
  }
            ?>
         
       </select>
       </form>

Hors ligne

 

#6 16-05-2008 10:51:47

lili23
Nouveau membre
Date d'inscription: 15-05-2008
Messages: 9

Re: [Résolu] Liste déroulante

Merci KOogar ça marche très bien,
il me reste un autre problème :p
je veux récupérer dans une autre page  $result['nom_mod'] sélectionné dans la liste déroulante, mais je sais pas comment le faire !!

Hors ligne

 

#7 16-05-2008 13:45:33

KOogar
Administrateur
Lieu: PHP Rapide !!
Date d'inscription: 21-12-2007
Messages: 513

Re: [Résolu] Liste déroulante

remplace la ligne de listage par:

<option value="evalessai<?php echo ''.$result['type_mod'].'.php?mode='.$result['nom_mod'].'';?>">   <?php echo $result['nom_mod']; ?> </option><?php

l'url donnera cela en sortie:

evalessaicours+td+tp.php?mode=nomdumode

ensuite pour récuperer l'info sur la page "evalessaicours+td+tp.php", tu devras simplement faire un echo:

echo $_GET['mode'];

******

je pense que tu as du voir la coquille dans le code précedent:
$load = $_POST_['load'];
$url = $_POST_['listepages'];

j'aurais du écrire :
$load = $_POST['load'];
$url = $_POST['listepages'];

roll

Hors ligne

 

#8 16-05-2008 15:15:11

lili23
Nouveau membre
Date d'inscription: 15-05-2008
Messages: 9

Re: [Résolu] Liste déroulante

Merci beaucoup  KOogar  smile
enfin ! ça mache !
merci encore wink

Hors ligne

 

Pied de page des forums

Propulsé par
PunBB