Menu

Afficher le résultat d'une requête (php) [Résolu/Fermé]

Messages postés
186
Date d'inscription
jeudi 21 juin 2007
Statut
Membre
Dernière intervention
26 mai 2008
- - Dernière réponse :  3333333333333333333333333333333333333333333332222222222222222222 - 13 avril 2012 à 14:45
bonjour, j'aimerai savoir comment on fait pour afficher la liste des enregistrements répondant à une requête.
merci
Afficher la suite 

5 réponses

Meilleure réponse
6
Merci
lorsque tu as fait:

$resultat=mysql_query($query);

tu mets une boucle
while ($row=mysql_fetch_array($resultat)){

et tu affiches soit par un echo $row[nom_du_champ]

soit dans une liste déroulante par
<select name="liste">
?>
<option value="<?php echo $row[nom_du_champ]; ?>"><?php echo $row[nom_du_champ]; ?></option>

<?php
}
</select>

Dire « Merci » 6

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 41483 internautes nous ont dit merci ce mois-ci

-
attention monsieur la commande ECHO nécessite des guillemets pour quelles soit exécuter ,
acceptez mon passage :)
@mohamedsamurai : Non pas dans le cas présent, ici l'on cherche à afficher une variable et non une "chaine de caractères"
Exemple avec "" : echo "toto";
Exemple sans "" : $toto = "toto";
echo $toto;
-
loled irl
Messages postés
186
Date d'inscription
jeudi 21 juin 2007
Statut
Membre
Dernière intervention
26 mai 2008
12
1
Merci
c'est ce que j'ai vu après avoir poster.
merci beaucoup.
1
Merci
c'est bien compliqué !
Cela parait compliqué à cause de l'absence d'indentation. Il n'y a rien de réellement plus compliqué là-dedans que ce qui a été suggéré avant ... ah si ... l'usage de array() et foreach ;)
Quand on y a pris goût à cette forme, ça devient une habitude.
Je veux dire pourquoi passer par un array $resultat alors que $row est déja un array on peut le parcourir par une boucle while et $row['nom_du_champ'].

Mais bon chacun sa méthode.

Bon forum
Messages postés
186
Date d'inscription
jeudi 21 juin 2007
Statut
Membre
Dernière intervention
26 mai 2008
12
0
Merci
je ne suis pas sure d'avoir tout compris
donc je te donne ma partie php et g laissé les commentaires où je dois rajouter des scripts.

$reponse=0;
if (!empty ($_POST['valider']))
{
$reponse=mysql_query( "SELECT * FROM restaurant where nom = $_POST[nom]");
}
if (empty($reponse))
{
echo" Ce restaurant n'existe pas";

}
elseif($reponse >1)
{
//affichage de la liste de réponses
}
else
{
// affichage du formulaire demandé
}
?>


merci de m'aider.
bien que je sais ce ke je veux écrire mais je me demande comment le formuler.
Doctor C
Messages postés
630
Date d'inscription
mardi 12 juin 2007
Statut
Membre
Dernière intervention
19 février 2016
522 -
Corriger moi si je me trompe.
mysql_query retourne tous les enregistrements correspondants à ta requête
mysql_fetch_array te permet ensuite de lire chaque ligne, une après l'autre, que ta requête à générée
si par exemple ta requête te retourne 2 enregistrements, tu vas passer 2 fois dans ta boucle, et afficher les infos que tu as choisie d'afficher.


$reponse=0; 
if (!empty ($_POST['valider'])) 
{ 
$reponse=mysql_query( "SELECT * FROM restaurant where nom = $_POST[nom]"); 
} 
if (empty($reponse)) 
{ 
echo" Ce restaurant n'existe pas"; 

} 
elseif($reponse >1) 
{ 
while ($row=mysql_fetch_array($reponse)){ 

echo $row[nom_du_champ1];  //champ de ta table restaurant (ex: nom, adresse, etc...)
echo $row[nom_du_champ2];  //il faut surement mettre le nom des champ entre " "
echo $row[nom_du_champ3]; 
} 
else 
{ 
// affichage du formulaire demandé 
} 


J'espère t'avoir aidé!
MISS97200
Messages postés
186
Date d'inscription
jeudi 21 juin 2007
Statut
Membre
Dernière intervention
26 mai 2008
12 > Doctor C
Messages postés
630
Date d'inscription
mardi 12 juin 2007
Statut
Membre
Dernière intervention
19 février 2016
-
oui, merci.
Si je veux que mes résultats soient dans une liste déroulante, comment faire s'il vous plait? d'après mon script?
> Doctor C
Messages postés
630
Date d'inscription
mardi 12 juin 2007
Statut
Membre
Dernière intervention
19 février 2016
-
Je t'avais mis la réponse juste au dessus:

après $resultat=mysql_fetch_array(.....);

?>
<select name="liste">
<?php
while ($row=mysql_fetch_array($resultat)){

?>
<option value="<?php echo $row[nom_du_champ]; ?>"><?php echo $row[nom_du_champ]; ?></option>

<?php
}
</select>
-1
Merci
Suggestion :
vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
<?php
if (!empty ($_POST['valider']))
{
$reponse=mysql_query( 'SELECT * FROM restaurant where nom =\''.addslashes($_POST[nom]).'\'') or die('Erreur');
$resultats = array();
while($row = ùysql_fetch_array($reponse)){
$resultats[] = $row;
}
}
if(count($resultats)>0){
?><select name="restaurant" size="<?php echo min(count($resultats),10); ?>"><?php
foreach($resultats as $restaurant){
?><option value="<?php echo $restaurant['champA']; ?>"><?php echo $restaurant['champB']; ?></option><?php
}
?></select><?php
}else{
if(count($_POST)>0){
echo 'Aucun restaurant';'
}
//affichage du formulaire
}
?>

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^