Jointure session & news

Par marrtin, il y a 15 ans


Base de données MySQL

Bonjour !

J'ai créer un petit espace administration sur mon site à l'aide du tuto Grafikart sur les sessions. J'aimerai quand j'écris ma news avoir mentionné "Ecrit par $login le 25/07/2010 à 14h00". Pour ce qui de la date et l'heure sa s'affiche mais j'aimerai rajouté l'auteur. J'ai essayé en faisant une jointure interne mais sa n'a pas fonctionné. Dois-je créer une nouvelle table dans "news" en rajoutant "id_login" ? Comment puis-je faire la liaison entre les deux ?

Merci par avance, ZiOu !

5 réponses

mespeche, il y a 15 ans

Oui il faut que dans ta table "news" tu ajoute un nouveau champs : id_login par exemple qui est en relation avec le champs id de ta table "users"

marrtin, il y a 15 ans

D'accord, mais je ne sais pas trop comment les mettre en relations. Pourtant j'ai regarder pas mal de tutos mais je sèche un peu ^^"

Si je créer un nouveau champ je le met de quel type ?

mespeche, il y a 15 ans

Et bin voila normalement comment sont constituées tes tables (à peu près bien entendu) :

Users : id (int), login(varchar), mdp(varchar), etc...
News : id(int), titre(varchar), contenu(text), id_user (int)

Et lorsque tu sélectionne ta news avec ta requête sa doit donner sa :

$sql = "SELECT users.login, news.* FROM news, users WHERE news.id_users = users.id";
$req = mysql_query($sql) or die(mysql_error());
while($news = mysql_fetch_assoc($req)){
    echo "Ecrit par ".$news'login'];
}

Essaye ceci ;)

marrtin, il y a 15 ans

Ok je te remercie beaucoup ! Je vais essayer ceci, sinon je chercherai un peu par moi même. Tu m'a mis sur le chemin donc je risque de pas avoir de mal à trouver ! =)

marrtin, il y a 15 ans

Re, sa me dit : "Table 'news.admin' doesn't exist" sachant que la ma table d'utilisateur s'appelle admin au lieu de users.