Bonjour à tous,
Vous êtes les seules vers qui je peux me tourner pour poser mes questions car je n'ai pas trouvé ce que je cherchais sur google.
J'ai une base de données sous MYSQL en innodb sur laquelle j'ai fais des requêtes qui fonctionnent quand je les tapes sur phpmyadmin.
Là je passe à la seconde phase pour mon site c'est à dire tenter d'afficher le résultat de mes requêtes puis créer des formulaires pour pouvoir ajouter des informations dans la base de donnée de manière plus pratique que via phpmysql.
Après avoir écumé plusieurs sites et explication je suis arrivé à affiché une partie de mon résultat mais je ne sais pas comment j'ai réussi et pourquoi je n'ai pas le reste.
Voila ma requête sur mysql:
Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 SELECT personnalite.nom, personnalite.prenom, pays.nom FROM personnalite INNER JOIN pays ON personnalite.pays_id = pays.id WHERE pays.nom = 'USA'
Le résultat qu'elle donne:
nom
Padalecki
Ackles
Collins
Day
Cortese
Barrymoreprenom
Jared
Jensen
Misha
Felicia
Genevieve
Drewnom
USA
USA
USA
USA
USA
USA
Voila le code que j'ai fais pour l'affichage de ma requette sur mon site qui tourne sur wampserver:
Ce que cela m'affiche c'est :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <link rel="stylesheet" type="text/css" href="entree.css"/> <title>Document sans titre</title> </head> <body> <?php include ("header.php"); ?> <?php include ("menu.php"); ?> <?php try { $bdd = new PDO('mysql:host=test;dbname=test', 'root', '', array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION)); } catch(Exception $e) { // En cas d'erreur, on affiche un message et on arrête tout die('Erreur : '.$e->getMessage()); } // Si tout va bien, on peut continuer // On récupère tout le contenu de la table $reponse = $bdd->query('SELECT personnalite.nom, personnalite.prenom, pays.nom FROM personnalite INNER JOIN pays ON personnalite.pays_id = pays.id WHERE pays.nom = \'USA\''); while ($donnees = $reponse->fetch()) { echo $donnees['nom'] . '<br />'; } $reponse->closeCursor(); ?> <?php include ("bas.php"); ?> </body> </html>
USA
USA
USA
USA
USA
USA
Je pense que mon problème doit venir de mes jointure et du fait que les éléments que je cherche à afficher viennent de plusieurs tables liées par des jointures.
Ce que j'ai trouvé pour afficher le résultat c'est ça:
Mais je ne suis pas certaine que ce soit la bonne solution. Je ne sais pas comment demander l'affichage de ce qui est déjà demandé dans la requête.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 { echo $donnees['nom'] . '<br />'; }
Vous voyez ce que je veux dire?
Je vous remercie d'avance pour avoir lu mon message.
Bonne soirée.
Partager