Selection avec jointures entre tables
Résolu
CreaZo
Messages postés
15
Date d'inscription
Statut
Membre
Dernière intervention
-
CreaZo Messages postés 15 Date d'inscription Statut Membre Dernière intervention -
CreaZo Messages postés 15 Date d'inscription Statut Membre Dernière intervention -
Bonjour à tous,
Je suis en train de travailler quelque chose sur une sortie php d'une sélection MysSql qui me complique la vie, je ne sais trop comment vous l’exposer donc voila des détails avant :
Ma table wp_wysija_user avec les colonne suivantes :
user_id (stockée sous forme de chiffre)
email (stockée sous forme de mail)
Ma seconde table wp_wysija_user_list avec les colonne suivantes :
list_id (stockée sous forme de chiffre)
user_id (stockée sous forme de chiffre)
sub_date (stockée sous format UNIX)
unsub_date (stockée sous format UNIX)
Ma troisième table wp_wysija_campaign
campaign_id (stockée sous forme de chiffre)
name (stockée sous forme de nom de ma mailing-list)
Ma quatrième table wp_wysija_campaign_list
list_id (stockée sous forme de chiffre)
campaign_id (stockée sous forme de chiffre)
Je souhaite récupérer sous forme de tableau les dates de désinscription (unsub_date) avec leur liste associés (list_id) sous forme de noms avec les emails associés.
Pour l’instant le code (plus bas) me retourne ceci (http://creazo.fr/mailp.php) :
Mail Nom de la liste Date de désinscription
1 1 1446711923
7 1 1429696268
147 3 1434003094
107 3 1445350534
91 3 1434305513
En soi c'est ce que je veux mais sans les détails ^^, je voudrais avoir le mail dans la colonne mail au lieu de user_id et le nom de la liste au lieu de list_id
Je sais que je ne demande pas les infos correctement mais je n'arrive pas à faire un select avec des jointures entre tables.
Merci à ceux qui pourrait m'indiquer la bonne voie ou le bon select.
Bonne journée !
Je suis en train de travailler quelque chose sur une sortie php d'une sélection MysSql qui me complique la vie, je ne sais trop comment vous l’exposer donc voila des détails avant :
Ma table wp_wysija_user avec les colonne suivantes :
user_id (stockée sous forme de chiffre)
email (stockée sous forme de mail)
Ma seconde table wp_wysija_user_list avec les colonne suivantes :
list_id (stockée sous forme de chiffre)
user_id (stockée sous forme de chiffre)
sub_date (stockée sous format UNIX)
unsub_date (stockée sous format UNIX)
Ma troisième table wp_wysija_campaign
campaign_id (stockée sous forme de chiffre)
name (stockée sous forme de nom de ma mailing-list)
Ma quatrième table wp_wysija_campaign_list
list_id (stockée sous forme de chiffre)
campaign_id (stockée sous forme de chiffre)
Je souhaite récupérer sous forme de tableau les dates de désinscription (unsub_date) avec leur liste associés (list_id) sous forme de noms avec les emails associés.
Pour l’instant le code (plus bas) me retourne ceci (http://creazo.fr/mailp.php) :
Mail Nom de la liste Date de désinscription
1 1 1446711923
7 1 1429696268
147 3 1434003094
107 3 1445350534
91 3 1434305513
En soi c'est ce que je veux mais sans les détails ^^, je voudrais avoir le mail dans la colonne mail au lieu de user_id et le nom de la liste au lieu de list_id
Je sais que je ne demande pas les infos correctement mais je n'arrive pas à faire un select avec des jointures entre tables.
<html>
<head>
<title>Ceci est un test</title>
</head>
<body>
<?php
// lancement de la requête (on impose aucune condition puisque l'on désire obtenir la liste complète des propriétaires
$sql = 'SELECT unsub_date, wp_wysija_user_list.user_id , list_id FROM wp_wysija_user_list WHERE unsub_date!="0" ;
';
// on lance la requête (mysql_query) et on impose un message d'erreur si la requête ne se passe pas bien (or die)
$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
echo '<table bgcolor="#FFFFFF">'."\n";
// première ligne on affiche les titres prénom et surnom dans 2 colonnes
echo '<tr>';
echo '<td bgcolor="#669999"><b><u>Email</u></b></td>';
echo '<td bgcolor="#669999"><b><u>Nom de la liste</u></b></td>';
echo '<td bgcolor="#669999"><b><u>Date de désinscription</u></b></td>';
echo '</tr>'."\n";
// on va scanner tous les tuples un par un
while($data = mysql_fetch_array($req)) {
echo '<tr>';
echo '<td bgcolor="#CCCCCC">'.$data['user_id'].'</td>';
echo '<td bgcolor="#CCCCCC">'.$data['list_id'].'</td>';
echo '<td bgcolor="#CCCCCC">'.$data['unsub_date'].'</td>';
echo '</tr>'."\n";
}
echo '</table>'."\n";
// fin du tableau.
mysql_free_result ($req);
mysql_close ();
?>
</body>
</html>
Merci à ceux qui pourrait m'indiquer la bonne voie ou le bon select.
Bonne journée !
A voir également:
- Selection avec jointures entre tables
- Tables des matières word - Guide
- Tables ascii - Guide
- L'indice n'appartient pas à la sélection vba ✓ - Forum VB / VBA
- Illustrator cadre de sélection disparu ✓ - Forum Illustrator
- Inverser selection excel - Forum Excel
1 réponse
Bonjour,
Regardes donc ce que donnes cette requête
=> Je te conseilles de tester tes requêtes DIRECTEMENT dans ta BDD (via phpmyadmin par exemple) AVANT d'essayer de les utiliser via du PHP.
Ca te permet de voir ce que ça donne plus facilement.....
Regardes donc ce que donnes cette requête
SELECT * FROM wp_wysija_user_list L LEFT JOIN wp_wysija_user U ON U.user_id = L.user_id LEFT JOIN wp_wysija_campaign_list C ON C.list_id = L.list_id
=> Je te conseilles de tester tes requêtes DIRECTEMENT dans ta BDD (via phpmyadmin par exemple) AVANT d'essayer de les utiliser via du PHP.
Ca te permet de voir ce que ça donne plus facilement.....
Il me manque le nom de la liste ainsi que passer la date en format classique pour que ce soit nickel ! Merci beaucoup !
Je l'ai juste modifier un peu pour n'avoir que les dates qui ne sont pas égales à 0 avec WHERE unsub_date!="0"
En testant le commande dans phpmyadmin (ce que je vais faire pour chaque test maintenant, tu as raison c'est mieux), j'ai toutes ces colonnes :
list_id
user_id
sub_date
unsub_date
user_id
wpuser_id
email
firstname
lastname
ip
confirmed_ip
confirmed_at
last_opened
last_clicked
keyuser
created_at
status
domain
list_id
campaign_id
filter
On a récupère le numéro de campaign_id, je pense qu'on y presque il nous faut le nom pour y arriver ^^
Par contre je n'aurais pas pu avancé seul, merci encore !
Les colonnes de cette table
list_id
name
namekey
description
PS: N'hésites pas, même au sein du code PHP..., de faire des retours à la ligne pour présenter tes requêtes.
Ca les rend plus lisible et donc plus simple à debuguer au cas ou.
Je suis assez content c'est ce que tu as proposé ! Au top ! Par contre je me rends compte que j'ai des doublons qui vienne de plusieurs campagne faites à plusieurs reprises, je pense que c'est normal, je vais m'attaquer au format de la date maintenant, merci beaucoup à toi !
http://www.w3schools.com/sql/func_date_format.asp