begin process at 2012 05 30 15:17:24
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Divers

 > 

Débutant(e)

 > 

liste déroulante - php - mysql


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

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&section=$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


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,640 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales