Liste déroulante - php - mysql [Résolu]

Signaler
Messages postés
36
Date d'inscription
mercredi 15 octobre 2008
Statut
Membre
Dernière intervention
27 octobre 2012
-
Messages postés
1654
Date d'inscription
dimanche 7 septembre 2008
Statut
Membre
Dernière intervention
11 septembre 2013
-
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

Messages postés
1654
Date d'inscription
dimanche 7 septembre 2008
Statut
Membre
Dernière intervention
11 septembre 2013
12
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 !
Messages postés
1654
Date d'inscription
dimanche 7 septembre 2008
Statut
Membre
Dernière intervention
11 septembre 2013
12
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 !
Messages postés
36
Date d'inscription
mercredi 15 octobre 2008
Statut
Membre
Dernière intervention
27 octobre 2012

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.
Messages postés
4
Date d'inscription
mercredi 25 mai 2011
Statut
Membre
Dernière intervention
19 décembre 2013

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,




Messages postés
36
Date d'inscription
mercredi 15 octobre 2008
Statut
Membre
Dernière intervention
27 octobre 2012

Merci cod57 <3

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

Bonne soirée
Messages postés
1654
Date d'inscription
dimanche 7 septembre 2008
Statut
Membre
Dernière intervention
11 septembre 2013
12
peux tu cocher s.t.p.
Réponse acceptée !

Bonne programmation !