requete sur plusieurs tables

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : requete sur plusieurs tables

requete sur plusieurs tables

par phibad » 01 juil. 2018, 18:25

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.