Les Allergies
Alimentaires
Posez votre question Signaler

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

MISS97200 187Messages postés 21 juin 2007Date d'inscription - Dernière réponse le 13 avril 2012 à 14:45
bonjour, j'aimerai savoir comment on fait pour afficher la liste des enregistrements répondant à une requête.
merci
Lire la suite 

Afficher le résultat d'une requête (php) »

13 réponses
Réponse
+0
moins plus
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>
mohamedsamurai - 1 juin 2011 à 08:21
attention monsieur la commande ECHO nécessite des guillemets pour quelles soit exécuter ,
acceptez mon passage :)
Toto - 27 juin 2011 à 15:11
@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;
3333333333333333333333333333333333333333333332222222222222222222 - 13 avril 2012 à 14:45
loled irl
Ajouter un commentaire
Réponse
+0
moins plus
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- 27 juin 2007 à 21:58
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- 27 juin 2007 à 22:09
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?
Alain42Doctor C - 27 juin 2007 à 22:37
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>
Ajouter un commentaire
Réponse
+0
moins plus
c'est ce que j'ai vu après avoir poster.
merci beaucoup.
Ajouter un commentaire
Réponse
+0
moins plus
c'est bien compliqué !
A.Nonyme - 28 juin 2007 à 00:14
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.
Alain42 - 2 juil. 2007 à 14:08
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
Ajouter un commentaire
Réponse
-2
moins plus
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
}
?>

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Ajouter un commentaire
Ce document intitulé « afficher le résultat d'une requête (php) » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?