par
sadeq » 27 sept. 2005, 14:47
j'ai essayé les résultats ne s'affichent toujours pas.
Je viens de voir ton code précédent, t'as des erreurs de structuration de la table HTML et de la lecture des résultats.
Le bloc à corriger et la correction sont les suivants:
1. Pour afficher chaque résultat dans une table:
...
$sql="SELECT * FROM sondage WHERE ".$methode." LIKE '%".$motscle."%' ORDER BY nom";
$requete = mysql_query($sql,$cnx) or die ('Erreur : '.mysql_error() );
While ($voir = mysql_fetch_assoc($requete)) //Correction : une boucle While pour parcourir tous les résultats
{
//Correction : un TR est inséré pour créer une ligne de table
echo "<center><table width='37%'><TR><td align='left'><b>Prénom: </b>".$voir['prenom']."<br>";
echo "<b>Nom: </b>".$voir['nom']."<br>";
echo "<b>Téléphone: </b>" .$voir['telephone']. "<br>";
echo "<b>Email: </b>" .$voir['email']. "<br>";
echo "</table></center>"; //Correction : fermer la table avant de passer au suivant
} //fin de while
....
2. Pour afficher tous les résultats dans la même table:
....
$sql="SELECT * FROM sondage WHERE ".$methode." LIKE '%".$motscle."%' ORDER BY nom";
$requete = mysql_query($sql,$cnx) or die ('Erreur : '.mysql_error() );
echo "<center><table width='37%'>"; //Correction: ouvrir la table avant la boucle
While ($voir = mysql_fetch_assoc($requete)) //Correction : une boucle While pour parcourir tous les résultats
{
//Correction : un TR est inséré pour créer une ligne de table
echo "<TR><td align='left'><b>Prénom: </b>".$voir['prenom']."<br>";
echo "<b>Nom: </b>".$voir['nom']."<br>";
echo "<b>Téléphone: </b>" .$voir['telephone']. "<br>";
echo "<b>Email: </b>" .$voir['email']. "<br>";
} //fin de while
echo "</table></center>"; //fermer la table
....
Récap:
En effet, ta requête peut renvoyer plusieurs résultats (0..N), il faut utiliser une boucle (while) pour les lire.
Pour chaque résultat trouvé une ligne <TR> est créée.