INNERJOIN remplacer la valeur d'une table par
Jay
-
zoby44 Messages postés 818 Date d'inscription Statut Membre Dernière intervention -
zoby44 Messages postés 818 Date d'inscription Statut Membre Dernière intervention -
Salut,
Salut, voila mon problème:
Sur MySql, j'ai les 3 tables suivantes:
[img]http://tinypic.com/images/goodbye.jpg[/img]
J'aimerais pouvoir afficher avec un script php le nom du membre ("login" dans la table members) et cela en remplaçant l'id_member par le login.
Je pense à utiliser INNER JOIN et recupérer la donnée dans une variable mais en vain.
[code=php]<?php
//connection à la base de données
mysql_connect($host, $bd_login, $bd_pass) or die ("Impossible de se connecter");
mysql_select_db($bd);
// requête
$query = "SELECT * FROM images INNER JOIN members ON members.login = images.id_user WHERE id_member=$id_image"; //id_member=$id_image soit $id_image l'image lié au membre
// recolte du resultat et affichage
$result = mysql_query($query);
while($row = mysql_fetch_row($result)){
$quelquechose = $row[quelquechose]; //la je ne sais pas
}
?>/code
Comment procéder pour remplacer l'id du membre (lié à l'id d'une image) par son nom d'utilisateur (login) ? Je m'y perd completement [^^choc]
Salut, voila mon problème:
Sur MySql, j'ai les 3 tables suivantes:
[img]http://tinypic.com/images/goodbye.jpg[/img]
J'aimerais pouvoir afficher avec un script php le nom du membre ("login" dans la table members) et cela en remplaçant l'id_member par le login.
Je pense à utiliser INNER JOIN et recupérer la donnée dans une variable mais en vain.
[code=php]<?php
//connection à la base de données
mysql_connect($host, $bd_login, $bd_pass) or die ("Impossible de se connecter");
mysql_select_db($bd);
// requête
$query = "SELECT * FROM images INNER JOIN members ON members.login = images.id_user WHERE id_member=$id_image"; //id_member=$id_image soit $id_image l'image lié au membre
// recolte du resultat et affichage
$result = mysql_query($query);
while($row = mysql_fetch_row($result)){
$quelquechose = $row[quelquechose]; //la je ne sais pas
}
?>/code
Comment procéder pour remplacer l'id du membre (lié à l'id d'une image) par son nom d'utilisateur (login) ? Je m'y perd completement [^^choc]
A voir également:
- INNERJOIN remplacer la valeur d'une table par
- Table ascii - Guide
- Remplacer disque dur par ssd - Guide
- Table des matières word - Guide
- Remplacer par word - Guide
- Remplacer coco - Accueil - Réseaux sociaux
1 réponse
Salut. Perso, je n'utilise jamais "mysql_fetch_row", je préfère largement "mysql_fetch_array".
Es tu sur que le champs "id_user" existe bien ? Dans le MCD que tu as joins, il n'apparait pas en tout cas.
J'ai remanié un peu ton code et voila ce que ça donne :
Vu que je suis fainéant, j'ai remplacé le nom de tes tables par des alias (a et b), moins de truc à taper.
Ensuite, j'ai indiqué à la requête quels champs sont vraiment utiles auxquelles j'ai attribué un nom pour pouvoir les appeler facilement avec PHP.
Voila, avec ça, tu devrais pouvoir t'en sortir. J'ai testé et ça fonctionne nickel.
Es tu sur que le champs "id_user" existe bien ? Dans le MCD que tu as joins, il n'apparait pas en tout cas.
J'ai remanié un peu ton code et voila ce que ça donne :
$query = "SELECT b.login AS log, a.id_image AS img FROM images a INNER JOIN members b ON b.id_member = a.id_member WHERE b.id_member = $id_image"; // recolte du resultat et affichage $result = mysql_query($query) or die ('Erreur : '.mysql_error() ); while($row = mysql_fetch_array($result)){ $login = $row['log']; $image = $row['img']; } echo $login.'<br />'.$image;
Vu que je suis fainéant, j'ai remplacé le nom de tes tables par des alias (a et b), moins de truc à taper.
Ensuite, j'ai indiqué à la requête quels champs sont vraiment utiles auxquelles j'ai attribué un nom pour pouvoir les appeler facilement avec PHP.
Voila, avec ça, tu devrais pouvoir t'en sortir. J'ai testé et ça fonctionne nickel.