Page 1 sur 1

requete sur plusieurs tables

Posté : 01 juil. 2018, 18:25
par phibad
Bonjour
Je me remets à PHP pour passer à PHP 7 le fichier des membres d'une association.
Si j'ai bien compris, pour faire une requete sur plusieurs tables, il faut préférer maintenant INNER JOIN à WHERE.
Voici ce que j'essaye de faire.
J'ai une table membres (mpmmembres), une table évènement(mpmevenement), et une table de relation membres-événements (relmembreeve).

Code : Tout sélectionner

$req=$bdd->prepare('SELECT * FROM mpmmembres WHERE pseudo=:pseudo') ; $req->execute(array('pseudo'=>$pseudo)); while ($mmm=$req->fetch()) { echo ("<h1>Bonjour ".$mmm['prenom']." ".$mmm['nom']." </h1>"."<p>"."Voici les données qui vous concernent : "."</p> <table> <tr><td>"."Pseudo : "."</td><td>".($mmm['pseudo']) ."</td><tr> <tr><td>"."Mot de passe : "."</td><td>".($mmm['mp']) ."</td><tr> <tr><td>"."Nom : "."</td><td>".($mmm['nom']) ."</td><tr> <tr><td>"."Prénom : "."</td><td>".($mmm['prenom']) ."</td><tr> <tr><td>"."Email : "."</td><td>".($mmm['email']) ."</td><tr> <table>"); } ?> <!-- -- ------------------------------ACTIVITES----------------------------------------- --> <h2>Vous êtes inscrit.e à :</h2> <table > <tr > <th>Date</th><th>Evenement</th> </tr> <?php $req=$bdd->prepare('SELECT * FROM mpmmembres m INNER JOIN relmembreeve r ON m.idmembre=r.idmembre INNER JOIN mpmevenement e ON e.ideve=r.ideve WHERE pseudo=:pseudo '); $req->execute(array('pseudo'=>$pseudo)); while ($aaa=$req->fetch()) echo ("<tr><td>".$aaa['dateeve']."</td><td>".$aaa['nomeve']."</td>"); ?>
La première partie fonctionne : sont affichés pseudo, mp, nom, prenom, email.
Mais je le code en restant en php pour la partie html parce que j'ai un message d'erreur dès que je veux quitter php pour html. Ca me semble compliqué ! Mais tant que ça marche...

Mais la deuxième partie ne fonctionne pas et je n'ai aucun message d'erreur. L'affichage s'arrête après la première ligne du tableau (date-événement). Je dois utiliser une mauvaise syntaxe ?
Merci pour votre aide.