Liste déroulante - php - mysql

Résolu
cs_calypso78 Messages postés 35 Date d'inscription mercredi 15 octobre 2008 Statut Membre Dernière intervention 27 octobre 2012 - 24 mai 2011 à 21:27
cod57 Messages postés 1653 Date d'inscription dimanche 7 septembre 2008 Statut Membre Dernière intervention 11 septembre 2013 - 25 mai 2011 à 22:23
Bonsoir,

J'ai un petit blocage, j'ai réussi à faire une requête et à l'afficher dans un tableau, mais je bloque pour faire une liste déroulante avec cette même requête, voici le code :

<title>Liste des versions</title>

<?php
$host = 'localhost';
$user = 'jeremyb';
$pass = 'qaxs4dc';
$db = 'jeremyb';
$link = mysql_connect ($host,$user,$pass) or die ('Erreur : '.mysql_error() );
mysql_select_db($db) or die ('Erreur :'.mysql_error());
$select = 'SELECT nom, explication, lien FROM maj_programme';
$result = mysql_query($select,$link) or die ('Erreur : '.mysql_error() );
$total = mysql_num_rows($result);

if($total) {
    echo ''.\"\n\";
echo '----
';
echo 'Nom, ';
echo 'Changements, ';
echo ''.\"\n\";
while($row = mysql_fetch_array($result)) {
echo '----
';
echo ''.$row["nom"].', ';
echo ''.$row["explication"].', ';
echo ''.\"\n\";
}
    echo '
'."\n

";
}
else echo 'Pas d\'enregistrements dans cette table...';

echo '<FORM method POST action "ajouter_commentaire.php" target = "http://jeremyb.freeheberg.com">';


echo '<SELECT NAME="id_commentaire"';

while($row = mysql_fetch_array($result)) {

echo '<option value = "' . $row['id'] . '">' . $row["nom"] . '</option>';

}

echo '</select>
';


echo 'pseudo :  

';
echo ' commentaire : 

';


echo '';

echo '</form>';

mysql_free_result($result);

?>




Voilà, le problème se situe dans la liste déroulante, qui n'affiche rien. Je n'ai aucune erreur (visible).

Voilà, j'espère que vous pourrez m'éclairer, merci et bonne soirée,
Calypso

6 réponses

cod57 Messages postés 1653 Date d'inscription dimanche 7 septembre 2008 Statut Membre Dernière intervention 11 septembre 2013 19
25 mai 2011 à 20:22
bonsoir
bizarre ?
mais comme ça je crois que ça fonctionne
a++

faut remettre tes identifiants

<title>Liste des versions</title>

<?php
$host = 'localhost';
$user = 'root';
$pass = '';
$db = 'a';
$link = mysql_connect ($host,$user,$pass) or die ('Erreur : '.mysql_error() );
mysql_select_db($db) or die ('Erreur :'.mysql_error());
$select = 'SELECT id,nom,explication,lien FROM maj_programme';
$result = mysql_query($select,$link) or die ('Erreur : '.mysql_error() );
$total = mysql_num_rows($result);

$option="";

if($total>0) {
    echo ''.\"\n\";
echo '----
';
echo 'Nom, ';
echo 'Changements, ';
echo ''.\"\n\";

while($row = mysql_fetch_array($result)) {
echo '----
';
echo ''.$row["nom"].', ';
echo ''.$row["explication"].', ';
echo ''.\"\n\";

$option.='<option value=\"'.$row['id'].'\">'.$row['nom'].'</option>';
}

    echo '
'."\n

";

                                          //         target="http://jeremyb.freeheberg.com"

echo '<form method="post" action="ajouter_commentaire.php" >';
echo '<select name="id_commentaire">';

  echo $option;
  //while($row2=mysql_fetch_array($result)) {
//echo '<option value="'.$row2['id'].'">'.$row2['nom'].'</option>';
  //}

  echo '</select>
';

echo 'pseudo :  

';
echo ' commentaire : 

';


echo '';

echo '</form>';

mysql_free_result($result);
}else{
echo 'Pas d\'enregistrements dans cette table...';
}
?>





Bonne programmation !
3
cod57 Messages postés 1653 Date d'inscription dimanche 7 septembre 2008 Statut Membre Dernière intervention 11 septembre 2013 19
24 mai 2011 à 21:38
bonsoir

$select = 'SELECT nom, explication, lien FROM maj_programme';
tu ne selectionne pas id fait plutot
$select = 'SELECT id,nom, explication, lien FROM maj_programme';

a++

Bonne programmation !
0
cs_calypso78 Messages postés 35 Date d'inscription mercredi 15 octobre 2008 Statut Membre Dernière intervention 27 octobre 2012
25 mai 2011 à 18:45
En effet, je n'avais pas remarqué, mais même faire ça n'a pas résolu mon problème...
Une autre idée? J'essaye de toutes les façons possibles, faut croire qu'il en reste encore une inexplorée.

Merci et tout cas pour ton aide.
0
yannig2938 Messages postés 4 Date d'inscription mercredi 25 mai 2011 Statut Membre Dernière intervention 19 décembre 2013
25 mai 2011 à 19:40
Bonsoir,

Voici mon code

//Il est évident qu'auparavant j'ai mis les éléments de connection.
//SELECTION DE LA TABLE
$table = '35127_1F1';

//}//CONSTRUCTION DE LA CLAUSE 'WHERE'
if ($nom){ // Si un nom est inscrit dans le formulaire
$where=" WHERE annee='1851' AND lieu LIKE '%".$lieu. "%'";
}
else{ // Les deux champs sont vides
$erreur="Veuillez saisir un village";
}
//REQUETE SQL
$qry="SELECT * FROM $table".$where;
//echo $qry;

//EXECUTION DE LA REQUETE
$result=mysql_query($qry);
?>




Recensement de population Guignen






body{
background-color:#EAFFFF;
font-family: Trebuchet MS,Verdana,Geneva,Arial,Helvetica,sans-serif;
}
span.page{
padding-left: 10px;
}
div.pages{
text-align: center;
padding-top: 5px;
}




Recensement de la population
recherche par village















Voici maintenant la page de réception des infos


// Récupération des éléments de recherches
$lieu=$_REQUEST['Village'];
$j=$_REQUEST['j'];
$nb_pages=$_REQUEST['nb_pages'];
$ligne_debut=$_REQUEST['$ligne_debut'];
$page=$_REQUEST['page'];
$annee=$_REQUEST['annee'];

//SELECTION DE LA BASE
mysql_select_db($base,$mysql_id);

//SELECTION DE LA TABLE
$table = '35127_1F1';

//}//CONSTRUCTION DE LA CLAUSE 'WHERE'
if ($lieu){ // Si un nom est inscrit dans le formulaire
$where=" WHERE annee='1851' AND lieu='".$lieu."' AND maison='1'";
}
else{ // Les deux champs sont vides
$erreur="Veuillez remplir au moins un champ";
}

//CONSTRUCTION DE LA CLAUSE 'LIMIT'
//Nombre d'enregistrements souhaités par page
$nb_par_page=100;

if (!$page){
$ligne_debut=0;
}
else{
$page=$page-1;
$ligne_debut=$page*$nb_par_page;
}

$limit=" LIMIT ".$ligne_debut.", ".$nb_par_page;

//REQUETE SQL
$qry="SELECT * FROM $table" .$where. $limit;
//echo $qry;

//EXECUTION DE LA REQUETE
$result=mysql_query($qry);

$nb_pages=($nb_fiches_max/$nb_par_page);
$nb_pages=ceil($nb_pages);

//CALCUL DU NOMBRE DE PAGES

if (!$nb_pages) { // Si le nb de pages n'a encore jamais été calculé

if ($lieu){
$nb_fiches_max=mysql_num_rows($result);
}
else{
$qry2="SELECT * FROM $table";
//echo $qry2;
$result2=mysql_query($qry2);
$nb_fiches_max=mysql_num_rows($result2);
}
$nb_pages=($nb_fiches_max/$nb_par_page);
$nb_pages=ceil($nb_pages);
}

// MESSAGE AU DESSUS DU TABLEAU
if ($nb_fiches_max > 0){ //S'il y a au moins un résultat
$page=$page+1;
$msg= "page ".$page." sur ".$nb_pages." pour ".$nb_fiches_max." enregistrements"; //On affiche le nombre de pages sur le total
}
else{
$msg="Désolé, aucun enregistrement trouvé !"; //Sinon, on signale qu'il n'y a pas de résultats
}

//DECLARATIONS DES FONCTIONS RIGHT ET LEFT QUI N'EXISTE PAS EN PHP !
function left($chaine,$num) {
return substr($chaine,0,$num);
}

function right($chaine,$num) {
return substr($chaine,-$num);
}
?>




Recensement de population Guignen






body{
background-color:#EAFFFF;
font-family: Trebuchet MS,Verdana,Geneva,Arial,Helvetica,sans-serif;
}
table.result{
font-family:Arial,sans-serif;
border-collapse:collapse;
border:1px solid #333333;
margin-top:10px;
width:550px;
}
td.nom {
padding:5px;
width: 150px;
border:1px solid #333333;
text-align: center;
background-color:#087417;
color:#ffffff;
}
td.prenom {
padding:5px;
width: 200px;
border:1px solid #333333;
text-align: center;
background-color:#087417;
color:#ffffff;
}
td.age {
padding:5px;
width: 50px;
border:1px solid #333333;
text-align: center;
background-color:#087417;
color:#ffffff;
}
td.profession {
padding:5px;
width: 150px;
border:1px solid #333333;
text-align: center;
background-color:#087417;
color:#ffffff;
}
td {
border:1px solid #333333;
padding:3px;
text-align: left;
}
span.page{
padding-left: 10px;
}
div.pages{
text-align: center;
padding-top: 5px;
}




Recensement de la population
recherche par village








Village,
">,













Nom,
Prénom,
Âge,
Profession,




0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_calypso78 Messages postés 35 Date d'inscription mercredi 15 octobre 2008 Statut Membre Dernière intervention 27 octobre 2012
25 mai 2011 à 20:35
Merci cod57 <3

C'était clair et net.
Et merci à toi aussi yannig.

Bonne soirée
0
cod57 Messages postés 1653 Date d'inscription dimanche 7 septembre 2008 Statut Membre Dernière intervention 11 septembre 2013 19
25 mai 2011 à 22:23
peux tu cocher s.t.p.
Réponse acceptée !

Bonne programmation !
0
Rejoignez-nous