Accueil > Forum > > > > liste déroulante - php - mysql
liste déroulante - php - mysql
mardi 24 mai 2011 à 21:27:01 |
liste déroulante - php - mysql

calypso78
|
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 :
Code PHP : <title>Liste des versions</title>
<body>
<?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 '<table border = "1" bgcolor="#FFFFFF">'."\n";
echo '<tr>';
echo '<td><b><u>Nom</u></b></td>';
echo '<td><b><u>Changements</u></b></td>';
echo '</tr>'."\n";
while($row = mysql_fetch_array($result)) {
echo '<tr>';
echo '<td bgcolor="#CCCCCC"><a href = "'.$row["lien"].'">'.$row["nom"].'</a></td>';
echo '<td bgcolor="#CCCCCC">'.$row["explication"].'</td>';
echo '</tr>'."\n";
}
echo '</table>'."\n<br /><br />";
}
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><br />';
echo 'pseudo : <INPUT NAME="monnom" TYPE="text" SIZE="30"> <br /><br />';
echo ' commentaire : <INPUT NAME="monemail" TYPE="text" SIZE="30"><br /><br />';
echo '<INPUT TYPE="SUBMIT" VALUE="Envoyer">';
echo '</form>';
mysql_free_result($result);
?>
</body>
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
|
|
mardi 24 mai 2011 à 21:38:02 |
Re : liste déroulante - php - mysql

cod57
|
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 !
|
|
mercredi 25 mai 2011 à 18:45:54 |
Re : liste déroulante - php - mysql

calypso78
|
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.
|
|
mercredi 25 mai 2011 à 19:40:34 |
Re : liste déroulante - php - mysql

yannig2938
|
Bonsoir,
Voici mon code
Code PHP :
//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="<a href=\"35127_1F1_1851_village.php\">Veuillez saisir un village</a>";
}
//REQUETE SQL
$qry="SELECT * FROM $table".$where;
//echo $qry;
//EXECUTION DE LA REQUETE
$result=mysql_query($qry);
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">
<head>
<title>Recensement de population Guignen</title>
<meta name="description" content="Recensement de population" />
<meta name="author" content="Yannick VOYEAUD" />
<meta name="keywords" content="Recensements de population, Relevés archives, Guignen" />
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<style type="text/css">
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;
}
</style>
</head>
<body>
<h1 style="text-align: center"><font color="#0000FF" face="1550">Recensement de la population<br>recherche par village</font><br><?php echo $annee ?></h1>
<div class="pages">
<!-- FORMULAIRE -->
<form action= '35127_1F1_1851_village_a.php' method="post">
<select name="Village">
<?php
$qry3 = "SELECT distinct lieu FROM 35127_1F1 where annee='1851' order by lieu ";
$res = mysql_query($qry3);
while($val=mysql_fetch_array($res)) {
// echo "<option>".$val['lieu']."</option>\n";
echo "<option value='".$val['lieu']."'>".$val['lieu']."</option>\n";
}
?>
</select>
<input type="submit" name="submit" value="Rechercher bis">
</form>
<!-- FIN FORMULAIRE -->
Voici maintenant la page de réception des infos
Code PHP :
// 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);
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">
<head>
<title>Recensement de population Guignen</title>
<meta name="description" content="Recensement de population" />
<meta name="author" content="Yannick VOYEAUD" />
<meta name="keywords" content="Recensements de population, Relevés archives, Guignen" />
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<style type="text/css">
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;
}
</style>
</head>
<body>
<h1 style="text-align: center"><font color="#0000FF" face="1550">Recensement de la population<br>recherche par village</font><br><?php echo $annee ?></h1>
<div class="pages">
<!-- FORMULAIRE -->
<form action= '35127_1F1_1851_village_a.php' method="post">
<div align="center">
<table style="border:0px;">
<td style="border:0px;"><strong>Village</strong></td>
<td style="border:0px;"><input type="text" name="lieu" value="<?php echo $lieu?>"></td>
<td style="border:0px;"><input type="submit" name="submit" value="Rechercher"></td>
</tr>
</table>
</div>
</form>
<!-- FIN FORMULAIRE -->
<?php
echo $msg."\n"; // On écrit le message au dessus du tableau
?>
<!-- EN-TÊTES DU TABLEAU -->
<div align="center">
<table class="result">
<tr>
<td class="nom">Nom</td>
<td class="prenom">Prénom</td>
<td class="age">Âge</td>
<td class="profession">Profession</td>
</tr>
<!-- FIN EN-TÊTES DU TABLEAU -->
<!-- REMPLISSAGE DU TABLEAU -->
<?php
while($row=mysql_fetch_object($result)){
echo "<tr style=\"cursor: hand;\" onmouseover=\"this.style.backgroundColor='#6C81B9'\" onmouseout=\"this.style.backgroundColor = ''\" onclick=\"javascript:window.open('pop_35127_1F1.php?id=$id->id&annee=$row->annee§ion=$row->section&lieu=$row->lieu&commune=$row->commune&photo=$row->photo','popup','width=1050,height=800,left=0,top=0,toolbar=no,menubar=no,resizable=no,scrollbars=yes');return(false);\">\n";
//TRAITEMENT DES AUTRES CHAMPS
echo "<td>$row->nom</a></td>\n";
echo "<td>$row->prenom</td>\n";
echo "<td>$row->age</td>\n";
echo "<td>$row->profession</td>\n";
echo "</tr>\n";
}
?>
</table>
<!-- FIN REMPLISSAGE DU TABLEAU -->
Mon code demande à être allégé de nombreuses lignes devenues inutiles mais bon il marche et pour ce que je voulais faire c'est bien.
Si cela peut te rendre service
Amitiés
|
|
mercredi 25 mai 2011 à 20:22:44 |
Re : liste déroulante - php - mysql

cod57
|
Réponse acceptée !
bonsoir
bizarre ?
mais comme ça je crois que ça fonctionne
a++
faut remettre tes identifiants
Code PHP :
<title>Liste des versions</title>
<body>
<?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 '<table border = "1" bgcolor="#FFFFFF">'."\n";
echo '<tr>';
echo '<td><b><u>Nom</u></b></td>';
echo '<td><b><u>Changements</u></b></td>';
echo '</tr>'."\n";
while($row = mysql_fetch_array($result)) {
echo '<tr>';
echo '<td bgcolor="#CCCCCC"><a href = "'.$row["lien"].'">'.$row["nom"].'</a></td>';
echo '<td bgcolor="#CCCCCC">'.$row["explication"].'</td>';
echo '</tr>'."\n";
$option.='<option value="'.$row['id'].'">'.$row['nom'].'</option>';
}
echo '</table>'."\n<br /><br />";
// 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><br />';
echo 'pseudo : <INPUT NAME="monnom" TYPE="text" SIZE="30"> <br /><br />';
echo ' commentaire : <INPUT NAME="monemail" TYPE="text" SIZE="30"><br /><br />';
echo '<INPUT TYPE="SUBMIT" VALUE="Envoyer">';
echo '</form>';
mysql_free_result($result);
}else{
echo 'Pas d\'enregistrements dans cette table...';
}
?>
 Bonne programmation !
|
|
mercredi 25 mai 2011 à 20:35:08 |
Re : liste déroulante - php - mysql

calypso78
|
Merci cod57 <3
C'était clair et net.
Et merci à toi aussi yannig.
Bonne soirée
|
|
mercredi 25 mai 2011 à 22:23:53 |
Re : liste déroulante - php - mysql

cod57
|
peux tu cocher s.t.p.
Réponse acceptée !
 Bonne programmation !
|
|
Cette discussion est classée dans : mysql, liste, déroulante, echo, row
Répondre à ce message
Sujets en rapport avec ce message
submit ne renvoyant pas valeur d'une liste déroulante dans $_POST [ par dubitoph ]
ChristopheBonjour,Je suis dans une impasse. Dans le cadre d'une agence d'interim, un intérimaire peut, avant son inscription dans l'agence, avoir déjà
Affichage d'une bd dans mysql à partir de la selection d'un nom d'une liste déroulante [ par sirina89 ]
bjr j'ai un formulaire php qui contient une liste déroulante en choisissons un noms de cette liste il doit afficher dans un tableau tous les enregist
Récupérer valeur radio bouton [ par napstel ]
Bonjour à tous, Je m'adresse à vous car cela fait un moment que je galère sur une chose qui, je pense, est vraiment bête et je n'arrive pas à trouver
liste déroulante qui bloque mon select [ par ecolom ]
Bonjour les z'amis... Voilà quelques jours que je cherche l'erreur mais je commence à baisser les bras.[^^sad1] Je fais donc appel à vos connaissances
liste déroulante cliquable !!!! [ par apollo1990 ]
bjr tout le monde, en faite j'ai rencontré un problémee à propos d'ajout d'une ligne au tableau en choisissant un nbre d'une liste déroulante, pour
Afficher un tableau mysql après une un coche de btn radio [ par abdeslam2009 ]
Bonjours; je veux afficher un tableau mysql dès que je coche sur btn radio et sans clicker sur un bouton voilà un bout de code que j'ai fait: <inpu
Checked : sélectionner checkall - impossible [ par chero9000kee ]
Bonjour à tous, Je tiens à remercier "cod57" pour son aide et sa compétence de mon premier poste. Comme préciser dans le sujet, j'essaie depuis quel
Liste déroulante, base mysql, changement de valeurs [ par frayoubessem ]
Salut tout le monde, J'ai besoin de remplir quelques champs de texte lorsque je choisis un element de ma liste qui est résultat d'une requête, ici j
Prblémre récupération donées bdd mysql dans liste déroulante [ par tif27940 ]
Bonjour, voila mon petit probléme est que je n'arrive pas a récupérer les données de ma table a fin de les mettre dans une liste déroulante. voidi le
Pagination [ par Dranog ]
Bonjour, je souhaiterais faire un système de pagination à partir de ce code : <?php Connection_mySql(); mysql_select_db("test") or die("erreur
Livres en rapport
|
Derniers Blogs
POUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDNPOUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDN par neodante
Quelle est le point commun entre : Microsoft il y a 10 ans et Apple aujourd'hui ? Réponse: avoir une politique de protocoles propriétaires et fermés :) Car pour rappel (si si je vous assure c'est important de le rappeler), la majorité des spécifications e...
Cliquez pour lire la suite de l'article par neodante JOYEUX ANNIVERSAIRE NIXJOYEUX ANNIVERSAIRE NIX par ebartsoft
Souhaitons un bon et joyeux anniversaire à notre hôte à tous, Nix.
Je ne le répéterais jamais assez mais sans lui rien ne serait possible. Il défit en permanence les lois de la gravité et comme il le dit si bien, si tu lui fais confiance ça devra...
Cliquez pour lire la suite de l'article par ebartsoft IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|