Rechercher : dans
Par :

[MySql] SELECT sur 2 Tables ??

Dernière réponse le 2 jan 2009 à 11:37:48 Sébastien724, le 2 jan 2009 à 08:30:06 
 Signaler ce message aux modérateurs

Bonjour,

Voilà sur le site que je suis entrain de faire j'ai plusieurs tables (comme sur tous les sites pratiquement)...
et pour ma partie administration je souhaiterais faire un SELECT sur 2 tables différentes.

J'ai ma table membre composée ainsi :

idmembre
email
...
...

et ma table transactions composée ainsi :
idtransaction
id_membre
...
...

Ce que je veux faire dans mon admin c'est affiché toutes les transactions dans la partie gestion des transactions

je fais donc :

$sql = "SELECT * FROM cf_transactions".$clause;
								$req = mysql_query($sql);
								if (mysql_num_rows($req) > 0) {
										while ($transac = mysql_fetch_array($req)) {
[... le code qui suit ...]
}
else
{
[... autre code ...]
}


Jusqu'à là tous va bien, j'ai bien mon while qui m'affiche toute les transactions avec les diverses infos notamment l'ID du membre.

Ce que j'essaie de faire c'est plutôt qu'afficher l'ID du membre dans le while, je souhaiterai récupérer l'email du membre à partir de la table membres et l'afficher

$sql = "SELECT * FROM cf_transactions, cf_membres".$clause;
								$req = mysql_query($sql);
								if (mysql_num_rows($req) > 0) {
										while ($transac = mysql_fetch_array($req)) {
[... le code qui suit ...]
}
else
{
[... autre code ...]
}


dans mon SELECT je rajoute cf_membres après cf_transactions, mais au final ça me sort toujours la même email celle du premier membre...
alors que les ID sont bien différentes.

Quelqu'un voit-il une erreur ?

Merci
Configuration: Windows Vista
Firefox 3.0.5

Meilleures réponses pour « [MySql] SELECT sur 2 Tables ?? » dans :
MySQL - Afficher les informations sur une table VoirPour afficher les informations sur une table TabTest il faut lancer la commande suivante (l'option \G améliore le formatage u résultat) : mysql> show create table TabTest\G *************************** 1. row *************************** ...
MySQL - SELECT ... YESTERDAY (hier) VoirIl vous suffit d'utiliser la syntaxe suivante : SELECT * FROM maTable WHERE champ_date = DATE_SUB(CONCAT(CURDATE(), ' 00:00:00'), INTERVAL 1 DAY) De la même façon pour sélectionner les enregistrements d'avant-hier : SELECT * FROM maTable...
Manipulations élémentaires des tableaux sous MatLab VoirSommaire I. Stockage des tableaux II. L'indexation linéaire II.1. Accéder à un élément d'un tableau en utilisant l'indexation linéaire II.2. Passer d'une indexation à l'autre II.2.1. La fonction ind2sub II.2.2. La fonction sub2ind III. La...

2

 Nxt, le 2 jan 2009 à 11:37:48

$q = "SELECT M.*, T.email, T.idtransaction 
         FROM membre M
         INNER JOIN  transactions T ON ( T.id_membre = M.idmembre )
         WHERE $clause ;"

$r = mysql_query($q);

while ($row = mysql_fetch_assoc($r)) print_r ($row);

Répondre à Nxt