Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD
PHP & SGBD Forum d'entraide sur les SGBD avec PHP. Avant de poster : FAQ BDD, toutes les FAQ PHP, cours BDD et sources BDD
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 23/08/2007, 23h32   #1
Invité régulier
 
Inscription : juin 2007
Messages : 69
Détails du profil
Informations forums :
Inscription : juin 2007
Messages : 69
Points : 7
Points : 7
Par défaut [SQL] Affichage des requêtes

Bonsoir,

je viens vous voir pour une aide qui doit être simple et basique pour vous moi j'avous je suis un peu nul

voila j'ai fais un BDD avec 4 colonnes
id / restauration / produits / prix
1 / Bar / café /1.20
2 /Bar /Pression/2.20
ect......

j'ai une page php ou j'aimerai afficher les prix alors j'ai suivi quel exemple comme celui ci :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
// on se connecte à notre base  
$base = mysql_connect ('localhost', '....', '.......');  
mysql_select_db ('........', $base) ;  
?>
<?php
// lancement de la requete  
$sql = 'SELECT prix FROM matable WHERE restauration = "Bar"';
// on lance la requête (mysql_query) et on impose un message d'erreur si la requête ne se passe pas bien (or die)  
$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());  
 // on recupere le resultat sous forme d'un tableau  
$data = mysql_fetch_array($req);  
 // on libère l'espace mémoire alloué pour cette interrogation de la base  
mysql_free_result ($req);  
mysql_close ();  
 ?>
<div id='ligne_carte_produits'><i>Café</i></div>
<div id='ligne_carte_prix'><?php echo $data['prix']; ?>€</div>
Bon super ça affiche bien le prix du café
mais comment afficher les autres prix ?????
Code HTML :
1
2
<div id='ligne_carte_produits'><i>Pression</i></div>
<div id='ligne_carte_prix'>2.20€</div>
????? comment faire ???

Merci pour votre précieuse aide
marquito est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/08/2007, 23h49   #2
En attente de confirmation mail
 
Inscription : juin 2002
Messages : 6 164
Détails du profil
Informations forums :
Inscription : juin 2002
Messages : 6 164
Points : 6 404
Points : 6 404
Il vous faut une boucle pour exploiter l'ensemble des résultats retournés. Je vous invite à lire le tutoriel : Passer des requêtes MySQL en PHP pour plus de précisions.
julp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/08/2007, 00h09   #3
Invité régulier
 
Inscription : juin 2007
Messages : 69
Détails du profil
Informations forums :
Inscription : juin 2007
Messages : 69
Points : 7
Points : 7
merci pour votre réponse mais comment mettre chaque prix dans les <div> qui leur conrrespond je nage....
marquito est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/08/2007, 00h15   #4
En attente de confirmation mail
 
Inscription : juin 2002
Messages : 6 164
Détails du profil
Informations forums :
Inscription : juin 2002
Messages : 6 164
Points : 6 404
Points : 6 404
Comme ceci :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?php
// on se connecte à notre base  
$base = mysql_connect ('localhost', '....', '.......');  
mysql_select_db ('........', $base) ;  
// lancement de la requete  
$sql = 'SELECT produits,prix FROM matable WHERE restauration = "Bar"';
$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());  
 // on recupere le resultat sous forme d'un tableau  
while ($data = mysql_fetch_array($req)) {
?>
 
<div id='ligne_carte_produits'><i><?php echo $data['produits']; ?></i></div>
<div id='ligne_carte_prix'><?php echo $data['prix']; ?>€</div>
 
<?php
}
 // on libère l'espace mémoire alloué pour cette interrogation de la base  
mysql_free_result ($req);  
mysql_close ();
?>
(à vous d'adapter si nécessaire et c'est une écriture parmi d'autres)

julp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/08/2007, 00h42   #5
Invité régulier
 
Inscription : juin 2007
Messages : 69
Détails du profil
Informations forums :
Inscription : juin 2007
Messages : 69
Points : 7
Points : 7
Ok je commence à comprendre je ne pigais pas bien la methode
en cas cas merci beaucoup pour ton aide
marquito est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/08/2007, 13h14   #6
Invité régulier
 
Inscription : juin 2007
Messages : 69
Détails du profil
Informations forums :
Inscription : juin 2007
Messages : 69
Points : 7
Points : 7
Bonjour je reviens vous voir je suis dans cosmos !
si je fais ça
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
 
<?php
// on se connecte à notre base  
$base = mysql_connect ('localhost', '.......', '...........');  
mysql_select_db ('................', $base) ;  
 
// lancement de la requete  
$sql = 'SELECT produits,prix FROM mabase WHERE restauration = "Bar"';
$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sqlBar.'<br />'.mysql_error());  
 // on recupere le resultat sous forme d'un tableau  
while ($data = mysql_fetch_array($req)) {
?>
 
<div id='ligne_carte_produits'><i><?php echo $data['produits']; ?></i></div>
<div id='ligne_carte_prix'><?php echo $data['prix']; ?>€</div>
 
<?php
}
 // on libère l'espace mémoire alloué pour cette interrogation de la base  
mysql_free_result ($req);  
mysql_close ();
?>
je ne peux pas recopier ce code pour continuer avec snack ?

Code :
1
2
3
4
5
6
7
8
9
 
// lancement de la requete  
$sql = 'SELECT produits,prix FROM mabase WHERE restauration = "Bar"';
$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sqlBar.'<br />'.mysql_error());  
 // on recupere le resultat sous forme d'un tableau  
while ($data = mysql_fetch_array($req)) {
?>
<div id='ligne_carte_produits'><i><?php echo $data['produits']; ?></i></div>
<div id='ligne_carte_prix'><?php echo $data['prix']; ?>€</div>
Vous voyez je suis encore à 15 milles

Merci pour votre aide
marquito est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/08/2007, 14h48   #7
En attente de confirmation mail
 
Inscription : juin 2002
Messages : 6 164
Détails du profil
Informations forums :
Inscription : juin 2002
Messages : 6 164
Points : 6 404
Points : 6 404
Oui, admettons mais ça correspond à quoi "Snack" au type de restauration ? Si c'est le cas il vous suffirait de modifier la clause WHERE. Si vous voulez faire la liste des produits par type de restauration une deuxième requête/boucle serait plus appropriée (le champ restauration pourrait être mieux prévu conceptuellement).
julp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/08/2007, 18h37   #8
Invité régulier
 
Inscription : juin 2007
Messages : 69
Détails du profil
Informations forums :
Inscription : juin 2007
Messages : 69
Points : 7
Points : 7
oui c'est ça j'ai en fait 3 tableaux dans restauration bar-snack-menu
avec pour chaqu'une les produits et 1es prix bien sur

j'ai tenté de recoller le code à la suite mais j'ai un message erreur
marquito est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/08/2007, 19h54   #9
En attente de confirmation mail
 
Inscription : juin 2002
Messages : 6 164
Détails du profil
Informations forums :
Inscription : juin 2002
Messages : 6 164
Points : 6 404
Points : 6 404
Citation:
Envoyé par julp
Si vous voulez faire la liste des produits par type de restauration une deuxième requête/boucle serait plus appropriée (le champ restauration pourrait être mieux prévu conceptuellement).
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
mysql_connect('localhost', 'utilisateur', 'mot_de_passe');
mysql_select_db('nom_base_de_données');
 
$restau_res = mysql_query('SELECT DISTINT(restauration) FROM mabase ORDER BY restauration') or die(mysql_error());
while ($restau_row = mysql_fetch_row($restau_res)) {
    $prod_res = mysql_query('SELECT produits,prix FROM mabase WHERE restauration = "' . mysql_real_escape_string($restau_row[0]) . '"') or die(mysql_error());
    printf('<div class="restauration"><h2>%s</h2>', $restau_row[0]);
    while ($prod_row = mysql_fetch_assoc($prod_res)) {
        printf('<div id="ligne_carte_produits"><i>%s</i></div><div id="ligne_carte_prix">%s €</div>', $prod_row['produits'], $prod_row['prix']);
    }
    echo '</div>';
}
 
mysql_close();
?>
(non testé)

Citation:
Envoyé par marquito
j'ai tenté de recoller le code à la suite mais j'ai un message erreur
Il faudrait alors nous donner votre code actualisé ainsi que les messages d'erreur

Note : la valeur d'un attribut id, n'est pas censé apparaître plus d'une fois dans un document (X)HTML : il faudrait sinon penser à utiliser une classe.
julp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/08/2007, 22h42   #10
Invité régulier
 
Inscription : juin 2007
Messages : 69
Détails du profil
Informations forums :
Inscription : juin 2007
Messages : 69
Points : 7
Points : 7
Bonsoir, et merci pour tous les explications juste une question comme je suis pas très doué avec le php et la BDD je me posais une question

est il possible de faire un truc plus simple voir basique et passe partout

où je pourrais mettre simplement un echo entre mes balises <div> pour avoir le résultat de la base

comme pour mon exemple:
va chercher le prix du café dans la table de la BDD et <div>affiche le prix</div>
va chercher le prix du pastis dans la table de la BDD et <div>affiche le prix</div> et ainsi de suite sans tous ce code que je comprends pas
marquito est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 04h59.


 
 
 
 
Partenaires

Hébergement Web