Posez votre question Signaler

SQL, PHP & INNER JOIN

grosbouff - Dernière réponse le 17 oct. 2007 à 12:18
Bonjour,
hello, je voudrais faire une requête un peu spéciale :
-j'ai deux tables : posts & traducs.
La table contient les champs |post_id|language_id|translation_group|
Elle me sert à stocker tous les ids des posts avec leur langue (1,2 ou 3) et le groupe d'articles dont il fait partie, si ils ont été traduits.
Maintenant, je voudrais faire une requête de sorte que, à partir d'un ID donné (le $post_id de ma fonction ci-dessous); ma requête sélectionne la ligne correspondant à l'article traduit de l'ID donné.
Donc si mon post #5 est une traduction anglaise de mon post #1; je voudrais qu'en utilisant gengoGetAPost (1), il me retourne la ligne correspondant à post_id 5 dans la table posts.
Il faudrait donc, à l'intérieur de la requête,
-récupérer le translation_group de l'ID donné
-le comparer à un autre ligne
---qui a le même translation_group
---dont le language_id est 2 (dans le cas de l'anglais)
- isoler la valeur du champs post_id de cette table et aller extraire de la table posts la ligne correspondante.
J'ai commencé à plancher sur le truc, mais c'est dur ! Ceci ne marche pas encore, je sais pas ou placer translation_group...
function gengoGetAPost($post_id) {
	$language_ids = 2; //2 = langue anglaise

	$query = "SELECT p.* FROM posts AS p INNER JOIN traducs AS p2l ON p.ID = p2l.post_id WHERE p2l.language_id IN ($language_ids) AND p2l.post_id='".$post_id."' LIMIT 1";

	return ($result = $wpdb->get_row($query)) ? $result : NULL;
}

Merci pour votre aide !
Lire la suite 

SQL, PHP & INNER JOIN »

1 réponses
Réponse
+0
moins plus
Bonjour, je vois que tu essaie de tirer une ligne du resultat de la requete.
Ce resultat est inexistant ...
Ajouter un commentaire
Ce document intitulé « SQL, PHP & INNER JOIN » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
5 extensions si vous voulez revenir à l'ancien Facebook