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>");
?> 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.