A voir également:
- Demande d'aide Jointure entre 3 tables !
- Picasa 3 - Télécharger - Albums photo
- Tables des matières word - Guide
- Photorecit 3 - Télécharger - Visionnage & Diaporama
- Ai suite 3 download - Télécharger - Optimisation
- 3 bip long 2 bip court hp - Forum BIOS
5 réponses
TheBleedz
Messages postés
38
Date d'inscription
vendredi 15 juillet 2011
Statut
Membre
Dernière intervention
10 février 2017
28 sept. 2011 à 18:26
28 sept. 2011 à 18:26
Toujours personne ?
Bonjour,
J'ai trouvé une solution mais elle ne marche pas =/
J'ai ajouter a la fin de WHERE ceci :
Cella donne :
Mais problème quand j'ai modifier cette ligne plus rien ne s'affiche... J'ai essayer de la même manière mais sans la liste d'amis et la ca marche impec faudrait juste comment faire pour que ma requête accepte le "AND status.membre_id = '".$id."'". Là je sais plus trop quoi faire.
J'espère trouver une réponse a ce gros soucis !
Voici quelque infos pour vous aidez a comprendre :
Tables status :
id = l'id du statis (publication)
membre_id = l'id du membre qui a publier
membre_contenu = le contenue de la publication
Tables amis :
id = l'id de la ligne d'amis
membre_id = l'id du membre qui a ajouter l'amis
membre_id_amis =l'id qui est devenu amis avec celui qui a demander(membre_id)
Il en a encore mais bon si je sais déjà faire ca ce serrai pas mal =) Apres juste trier par date et prendre que les statue que des amis validé ! (membre_id_aut que je n'ai pas ajouter).
N'hésiter pas si vous avez besoin de plus parce la moi je suis calé j'ai lus toute la journée pour trouver une solution essayer plein de manipulation mais rien ne fait.
Bonne journée et merci d'avance !
J'ai trouvé une solution mais elle ne marche pas =/
J'ai ajouter a la fin de WHERE ceci :
WHERE amis.membre_id = '".$id."' AND status.membre_id = '".$id."'
Cella donne :
// On récupère tout le contenu de les tables $reponse = $bdd->query("SELECT status.contenu, status.membre_id, membres.membre_nom, membres.membre_id, membres.membre_prenom, amis.membre_id_amis FROM membres INNER JOIN amis ON amis.membre_id_amis = membres.membre_id INNER JOIN status ON status.membre_id = amis.membre_id_amis WHERE amis.membre_id = '".$id."' AND status.membre_id = '".$id."'");
Mais problème quand j'ai modifier cette ligne plus rien ne s'affiche... J'ai essayer de la même manière mais sans la liste d'amis et la ca marche impec faudrait juste comment faire pour que ma requête accepte le "AND status.membre_id = '".$id."'". Là je sais plus trop quoi faire.
J'espère trouver une réponse a ce gros soucis !
Voici quelque infos pour vous aidez a comprendre :
Tables status :
id = l'id du statis (publication)
membre_id = l'id du membre qui a publier
membre_contenu = le contenue de la publication
Tables amis :
id = l'id de la ligne d'amis
membre_id = l'id du membre qui a ajouter l'amis
membre_id_amis =l'id qui est devenu amis avec celui qui a demander(membre_id)
Il en a encore mais bon si je sais déjà faire ca ce serrai pas mal =) Apres juste trier par date et prendre que les statue que des amis validé ! (membre_id_aut que je n'ai pas ajouter).
N'hésiter pas si vous avez besoin de plus parce la moi je suis calé j'ai lus toute la journée pour trouver une solution essayer plein de manipulation mais rien ne fait.
Bonne journée et merci d'avance !
TheBleedz
Messages postés
38
Date d'inscription
vendredi 15 juillet 2011
Statut
Membre
Dernière intervention
10 février 2017
28 sept. 2011 à 15:56
28 sept. 2011 à 15:56
Bon comme j'ai toujours pas de réponse, je me démerde comme je peux ^^
Voici ce que j'ai fait et ce code la marche sauf que j'aimerai que ce soit regrouper en une seul c'est possible ?
Voici ce que j'ai fait et ce code la marche sauf que j'aimerai que ce soit regrouper en une seul c'est possible ?
$reponse = $bdd->query(" SELECT membres.membre_nom, membres.membre_prenom, amis.membre_id_amis, status.contenu,status.membre_id,status.date_creation FROM membres INNER JOIN amis ON amis.membre_id_amis = membres.membre_id INNER JOIN status ON status.membre_id = amis.membre_id_amis WHERE amis.membre_id = '".$id."' ORDER BY date_creation"); $reponse1 = $bdd->query(" SELECT status.contenu, status.membre_id, membres.membre_nom, membres.membre_prenom,status.date_creation FROM membres INNER JOIN status ON status.membre_id = membres.membre_id WHERE status.membre_id='".$id."' ORDER BY date_creation");
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Je viens d'avoir un problème assez similaire que je viens de résoudre.
J'avais aussi une triple jointure, j'ai modifié plusieurs fois ma requête pour trouver l'erreur : sans résultat.
Le problème venait de la base de donnée en elle même. Si je prends ton cas la paramètre de jointure (qui se trouve après les "ON") n'était pas vérifié. Si je prends ton exemple, je n'avais pas de correspondance entre "amis.membre_id_amis" et "membres.membre_id".
la valeur de $id existait dans une et pas dans l'autre table..
Comme il s'agit d'une jointure interne, il n'affiche pas les entrées qui n'ont pas de correspondances dans les deux tables jointes
J'avais aussi une triple jointure, j'ai modifié plusieurs fois ma requête pour trouver l'erreur : sans résultat.
Le problème venait de la base de donnée en elle même. Si je prends ton cas la paramètre de jointure (qui se trouve après les "ON") n'était pas vérifié. Si je prends ton exemple, je n'avais pas de correspondance entre "amis.membre_id_amis" et "membres.membre_id".
la valeur de $id existait dans une et pas dans l'autre table..
Comme il s'agit d'une jointure interne, il n'affiche pas les entrées qui n'ont pas de correspondances dans les deux tables jointes
Mopra-L
Messages postés
146
Date d'inscription
lundi 29 juin 2009
Statut
Membre
Dernière intervention
23 mai 2012
6
9 nov. 2011 à 09:29
9 nov. 2011 à 09:29
Pour résoudre ce problème, il est nécessaire de faire un LEFT JOIN ou RIGHT JOIN. Ainsi, si la correspondance n'est pas trouvé, la ligne sera tout de même retourné, mais avec "NULL" à la place de chaque champ de la table