Page 1 sur 2
problème avec mon menu déroulant
Posté : 17 juin 2009, 09:12
par waldner77
bonjour
je suis entrain de faire un menu déroulant dans un tableau en php et j'ai un petit soucie avec le menu déroulant. est ce que vous pouvez m'aider s'il vous plait.
voici mon code:
<html>
<head><title>tableau dynamique </title></head>
<body>
<?php
//parametres de connexion
$machine="localhost";
$utilisateur="root";
$mot_passe="";
$nom_base="enregistrement";
//connexion au SGBD Mysql
$con=mysql_connect($machine,$utilisateur,$mot_passe) or die ('Erreur : '.mysql_error() );
//s'il y a de connection
//selection de la base des donnees
mysql_select_db($nom_base);
// requête SQL qui compte le nombre total d'enregistrement dans la table et qui
//récupère tous les enregistrements
$query='SELECT * FROM a_verifier';
$resultat=mysql_query($query,$con) or die (mysql_error());;
$total=mysql_num_rows($resultat);//donne le nombre de ligne
// si on a récupéré un résultat on l'affiche.
if($total) {
//debut du tableau
echo'<table bgcolor="#FFFFFF">'."\n";
// première ligne on affiche les titres du tableau nomTA , pseudo , NRDVvalide ,
//NRDVenattente , NRDVannule dans 5 colones
echo '<tr>';
echo '<td bgcolor="#669999"><b><u>Nom_PDF</u></b></td>';
echo '<td bgcolor="#669999"><b><u>diffuser par</u></b></td>';
echo '<td bgcolor="#669999"><b><u>email du diffuser</u></b></td>';
echo '<td bgcolor="#669999"><b><u>destinateur</u></b></td>';
echo '<td bgcolor="#669999"><b><u>email du destinateur</u></b></td>';
echo '<td bgcolor="#669999"><b><u>date</u></b></td>';
echo '<td bgcolor="#669999"><b><u>état</u></b></td>';
echo '</tr>'."\n";
// lecture et affichage des résultats sur 6 colonnes, 1 résultat par ligne.
while($row=mysql_fetch_array($resultat))
{
echo '<tr>';
//echo '<td bgcolor="#CCCCCC"><a href="A_VERIFIER//'.$row["nom_pdf"].'">'.$row["nom_pdf"].'</a></td>';
echo '<td bgcolor="#CCCCCC"><a href="test4.php">'.$row["nom_pdf"].'</a></td>';
echo '<td bgcolor="#CCCCCC">'.$row["diffusee_par"].'</td>';
echo '<td bgcolor="#CCCCCC">'.$row["email1"].'</td>';
echo '<td bgcolor="#CCCCCC">'.$row["destinataire"].'</td>';
echo '<td bgcolor="#CCCCCC">'.$row["email2"].'</td>';
echo '<td bgcolor="#CCCCCC">'.$row["date"].'</td>';
echo '<td bgcolor="#CCCCCC"><SELECT name="reponse" onChange="2"></td>';
echo '<td bgcolor="#CCCCCC"><option value="valider">valeur</option></td>';
echo '<td bgcolor="#CCCCCC"><option value="refuser">refuser</option></td>';
echo '</select>';
echo '</tr>'."\n";
}
echo '</table>'."\n";
// fin du tableau.
}
else echo 'Pas d\'enregistrements dans cette table...';
// on libère le résultat
mysql_free_result($resultat);
?>
</body>
</html>
Posté : 17 juin 2009, 09:19
par charabia
Quelle est l'erreur ?
Mets ton code entre des balises PHP pour le colorer afin que ce soit plus lisible.
J'ai vu rapidement que tu avais des TD qui se promenaient entre et dans les SELECT

Posté : 17 juin 2009, 09:30
par waldner77
désoler mais comme je suis un peu nouveau dans se forum donc j'ai pas trop l'habitude
je vais quand même vous présenter ma page.
Le principe de fonctionnement de cette page php est de faire un tableau en listant ma BDD et après de l'insérer dans mon tableau mais le soucie c'est que j'ai rajouter une colonne en plus pour me permettre de faire un menu déroulant dans les lignes mais le soucie c'est que j'ai essayer mais j'ai un peu de mal:
voici la partie du tableau:
echo'<table bgcolor="#FFFFFF">'."\n";
// première ligne on affiche les titres du tableau nomTA , pseudo , NRDVvalide ,
//NRDVenattente , NRDVannule dans 5 colones
echo '<tr>';
echo '<td bgcolor="#669999"><b><u>Nom_PDF</u></b></td>';
echo '<td bgcolor="#669999"><b><u>diffuser par</u></b></td>';
echo '<td bgcolor="#669999"><b><u>email du diffuser</u></b></td>';
echo '<td bgcolor="#669999"><b><u>destinateur</u></b></td>';
echo '<td bgcolor="#669999"><b><u>email du destinateur</u></b></td>';
echo '<td bgcolor="#669999"><b><u>date</u></b></td>';
echo '<td bgcolor="#669999"><b><u>état</u></b></td>';
echo '</tr>'."\n";
// lecture et affichage des résultats sur 6 colonnes, 1 résultat par ligne.
while($row=mysql_fetch_array($resultat))
{
echo '<tr>';
//echo '<td bgcolor="#CCCCCC"><a href="A_VERIFIER//'.$row["nom_pdf"].'">'.$row["nom_pdf"].'</a></td>';
echo '<td bgcolor="#CCCCCC"><a href="test4.php">'.$row["nom_pdf"].'</a></td>';
echo '<td bgcolor="#CCCCCC">'.$row["diffusee_par"].'</td>';
echo '<td bgcolor="#CCCCCC">'.$row["email1"].'</td>';
echo '<td bgcolor="#CCCCCC">'.$row["destinataire"].'</td>';
echo '<td bgcolor="#CCCCCC">'.$row["email2"].'</td>';
echo '<td bgcolor="#CCCCCC">'.$row["date"].'</td>';
echo '<td bgcolor="#CCCCCC"><SELECT name="reponse" onChange="2"></td>';
echo '<td bgcolor="#CCCCCC"><option value="valider">valeur</option></td>';
echo '<td bgcolor="#CCCCCC"><option value="refuser">refuser</option></td>';
echo '</select>';
echo '</tr>'."\n";
}
echo '</table>'."\n";
// fin du tableau.
}
est ce que vous pouvez m'aider à résoudre le problème
Posté : 17 juin 2009, 09:42
par charabia
BBCODE ! Quand tu mets un code, tu as ce qu'on appelle des bbcodes qui te permettent de colorer ton code. Par exemple :
echo'<table bgcolor="#FFFFFF">'."\n";
// première ligne on affiche les titres du tableau nomTA , pseudo , NRDVvalide ,
//NRDVenattente , NRDVannule dans 5 colones
echo '<tr>';
echo '<td bgcolor="#669999"><b><u>Nom_PDF</u></b></td>';
echo '<td bgcolor="#669999"><b><u>diffuser par</u></b></td>';
echo '<td bgcolor="#669999"><b><u>email du diffuser</u></b></td>';
echo '<td bgcolor="#669999"><b><u>destinateur</u></b></td>';
echo '<td bgcolor="#669999"><b><u>email du destinateur</u></b></td>';
echo '<td bgcolor="#669999"><b><u>date</u></b></td>';
echo '<td bgcolor="#669999"><b><u>état</u></b></td>';
echo '</tr>'."\n";
// lecture et affichage des résultats sur 6 colonnes, 1 résultat par ligne.
while($row=mysql_fetch_array($resultat))
{
echo '<tr>';
//echo '<td bgcolor="#CCCCCC"><a href="A_VERIFIER//'.$row["nom_pdf"].'">'.$row["nom_pdf"].'</a></td>';
echo '<td bgcolor="#CCCCCC"><a href="test4.php">'.$row["nom_pdf"].'</a></td>';
echo '<td bgcolor="#CCCCCC">'.$row["diffusee_par"].'</td>';
echo '<td bgcolor="#CCCCCC">'.$row["email1"].'</td>';
echo '<td bgcolor="#CCCCCC">'.$row["destinataire"].'</td>';
echo '<td bgcolor="#CCCCCC">'.$row["email2"].'</td>';
echo '<td bgcolor="#CCCCCC">'.$row["date"].'</td>';
echo '<td bgcolor="#CCCCCC"><SELECT name="reponse" onChange="2"></td>';
echo '<td bgcolor="#CCCCCC"><option value="valider">valeur</option></td>';
echo '<td bgcolor="#CCCCCC"><option value="refuser">refuser</option></td>';
echo '</select>';
echo '</tr>'."\n";
}
echo '</table>'."\n";
// fin du tableau.
}
C'est quand mêm plus lisible non ?
Maintenant si je comprend bien, tu désires mettre un SELECT au niveau de chaque enregistrement dans une cellule du tableau. Ton SELECT doit donc être dans un <td> :
Code : Tout sélectionner
<table>
<tr>
<td>enregistrement 1</td>
<td>
<select name="">
<option></option>
<option></option>
</select>
</td>
</tr>
<tr>
<td>enregistrement 2</td>
<td>
<select name="">
<option></option>
<option></option>
</select>
</td>
</tr>
</table>
Posté : 17 juin 2009, 10:18
par waldner77
problème résolut merci pour l'exemple que tu m'as passer.
bonne journée a toi
Posté : 17 juin 2009, 10:25
par charabia
Proposition de correction :
<table bgcolor="#FFFFFF">
<tr>
<td bgcolor="#669999"><b><u>Nom_PDF</u></b></td>
<td bgcolor="#669999"><b><u>diffuser par</u></b></td>
<td bgcolor="#669999"><b><u>email du diffuser</u></b></td>
<td bgcolor="#669999"><b><u>destinateur</u></b></td>
<td bgcolor="#669999"><b><u>email du destinateur</u></b></td>
<td bgcolor="#669999"><b><u>date</u></b></td>
<td bgcolor="#669999"><b><u>état</u></b></td>
</tr>
<?php
while($row=mysql_fetch_array($resultat))
{
?>
<tr>
<td bgcolor="#CCCCCC"><a href="test4.php"><?php echo $row["nom_pdf"];?></a></td>
<td bgcolor="#CCCCCC"><?php echo $row["diffusee_par"];?></td>
<td bgcolor="#CCCCCC"><?php echo $row["email1"];?></td>
<td bgcolor="#CCCCCC"><?php echo $row["destinataire"];?></td>
<td bgcolor="#CCCCCC"><?php echo $row["email2"];?></td>
<td bgcolor="#CCCCCC"><?php echo $row["date"];?></td>
<td bgcolor="#CCCCCC">
<select name="reponse" onChange="2">
<option value="valider">valeur</option>
<option value="refuser">refuser</option>
</select>
</td>
</tr>
<?php
}
?>
</table>
Un conseil, jette un oeil sur les CSS

Posté : 17 juin 2009, 10:33
par waldner77
j'ai fait comme ceci:
// lecture et affichage des résultats sur 6 colonnes, 1 résultat par ligne.
while($row=mysql_fetch_array($resultat))
{
echo '<tr>';
echo '<td bgcolor="#CCCCCC"><a href="A_VERIFIER//'.$row["nom_pdf"].'">'.$row["nom_pdf"].'</a></td>';
//echo '<td bgcolor="#CCCCCC"><a href="test4.php">'.$row["nom_pdf"].'</a></td>';
echo '<td bgcolor="#CCCCCC">'.$row["diffusee_par"].'</td>';
echo '<td bgcolor="#CCCCCC">'.$row["email1"].'</td>';
echo '<td bgcolor="#CCCCCC">'.$row["destinataire"].'</td>';
echo '<td bgcolor="#CCCCCC">'.$row["email2"].'</td>';
echo '<td bgcolor="#CCCCCC">'.$row["date"].'</td>';
echo '<td bgcolor="#CCCCCC"><SELECT name="reponse" onChange="2">';
echo '<option value="valider">valeur</option>';
echo '<option value="refuser">refuser</option></td>';
echo '</select>';
echo '</tr>'."\n";
}
echo '</table>'."\n";
Posté : 17 juin 2009, 10:41
par charabia
Ce n'est toujours pas bon. Regarde bien ton code, particulièrement les balises ouvrantes et fermantes. Est-ce que tu respectes la hiérarchie ?
Posté : 17 juin 2009, 11:13
par waldner77
je te rassure il marche très bien mes valeurs sont a l'intérieur et non a l'extérieur
Posté : 17 juin 2009, 11:19
par charabia
Bé tu ne me rassures pas au vu de ton code
Attention, ce n'est pas parce que visuellement tu vois bien que ton code est bien.
Relis attentivement et tu verras ton erreur.
Posté : 17 juin 2009, 11:27
par waldner77
bas le problème , quand je jutilise la page php il y a bien le menu déroulant dans mon tableau.
c'est pour sa, je ne comprend pas
Posté : 17 juin 2009, 11:29
par charabia
Je viens de te dire que bien visuellement ne veut pas dire que ton code est bien construit.
echo '<td bgcolor="#CCCCCC"><SELECT name="reponse" onChange="2">';
echo '<option value="valider">valeur</option>';
echo '<option value="refuser">refuser</option></td>';
echo '</select>';
echo '</tr>'."\n";
Tu ne vois rien dans ce morceau ?
Posté : 17 juin 2009, 11:34
par waldner77
le select?
Posté : 17 juin 2009, 11:41
par charabia
Un petit effort voyons, je t'ai donné un mini morceau de code où l'erreur est facilement repérable.
indice : "Hiérarchie" des balises.
<tr><td></td></tr> ok
<tr><td></tr></td> non ok
Posté : 17 juin 2009, 13:02
par waldner77
j'ai regarder mon code et je ne voix pas l'erreur désoler