[SQL] 2 tables qui se croisent en leur "pseudo"
Bonjour,
Sur mon site les visiteurs peuvent enregistrer un rêve soit en étant inscrit (ils se voient alors attribuer un id individuel et permanant - si le membre modifie son pseudo, son id reste quand mm le même -, soit en ne l'étant pas.
J'ai 2 tables :
- reves avec les champs suivants (entre autres) : id, titre, reve, pseudo, pseudo_id, date...
- reves_reveurs, avec les champs suivants (entre autres) : id, pseudo,...
Dans la table reves l'id correspond à l'id du rêve, pseudo au pseudo du rêveur si il n'est pas inscrit, et pseudo_id correspond à l'id du membre dans la table reves_reveurs.
Je souhaite afficher un lien vers une page de description du membre si le rêveur du rêve affiché est un membre inscrit. Mais je sèche un peu sur la requête à faire. Voici ce que j'ai fait :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| $sql = "SELECT RR.titre, RR.reve, RR.pseudo, RR.pseudo_id, RR.date, RRVR.pseudo as pseudo_inscrit FROM reves_reves RR, reves_reveurs RRVR WHERE RR.id='$id' AND RR.activity='on' AND RRVR.id = RR.pseudo_id";
$req = mysql_query($sql) or die('ERREUR sql !<br>'.$sql.'<br>'.mysql_error());
$db_data_reve = mysql_fetch_assoc($req);
// Affichage du header
include ("header.php");
// Affichage du rêve
echo "<h2>".$db_data_reve['titre']."</h2>
<p class=\"reve_infos\">Le ";
datetime_fr($db_data_reve['date']);
if ($db_data_reve['pseudo_id'] >= 1)
{
echo ", <a href=\"reveur-infos.php?pseudo_id=".$db_data_reve['pseudo_id']."\">".$db_data_reve['pseudo_inscrit']."</a>";
}
else
{
echo ", ".$db_data_reve['pseudo'];
}
echo " a confié le rêve suivant à la boîte à rêves :</p>
<p class=\"reve\">".$db_data_reve['reve']."</p> |
Le problème est le suivant :
- Si le rêve a été rédigé par un membre inscrit, toutes les infos de la page s'affichent sans problème (et le pseudo affiché est bien "pseudo_inscrit" !).
- Sinon aucune info ne s'affiche, mais il n'y a pas pour autant d'erreur SQL détectée.
Pourriez-vous m'aider à règler ce petit problème svp ?
ps : je ne sais pas si il s'agit d'une erreur php ou SQL mais comme il n'y a pas d'erreur SQL détectée je poste ce message dans le forum php.[/code]