Système de news avec un forum phpbb

ViPHP
ViPHP | 649 Messages

31 déc. 2005, 21:43

Essaie d'ajouter un DISTINCT à ta requête :wink:


<?
    $query        = "SELECT DISTINCT topic_id,
                          topic_title As title,
                          topic_time As date,
                          topic_replies As commentaires,
                          topic_poster As poster,
                          username As poster_name,
                          post_text As post                          
                          FROM `phpbb_topics`, `phpbb_users`, `phpbb_posts_text`
                          WHERE forum_id = 1 AND post_id = topic_first_post_id
                          ORDER BY topic_id  
                          DESC LIMIT 0,5"; 
?>
Image

Eléphanteau du PHP | 14 Messages

03 janv. 2006, 00:28

Non, ça ne change rien.

Moi je pense plus à une histoire de produit cartésien. Mais je ne sais pas comment faire pour y rémédier !? Je n'ai pas trouvé de site où il est question de produit cartésien, et pourtant..... j'ai une vilaine impression :) ! Voilà, quelqu'un peut il m'aider ? Merci
ImageQue la force soit en FireFox ^^.

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

03 janv. 2006, 00:42

Oui mais avec la concaténation, ça revient à écrire la valeur de la variable en clair, pas entouré de guillemets ni d'apostrophes, ce qui est une erreur. Ce qu'il aurait pu faire: '" . $variable . "'.
Eh oui je réagis tard, pas vu O:)

mais d'apres la requete initiale il s'agit d'id (phpbb_posts.topic_id) donc je suppose "numérique" donc pas besoin de guillemets... :-k bref


• du nouveau
alors ca fonctionne maintenant
[ 31/12/05 19:04 ] - [ Par Anonymous ] - [ Commentaires (1) ]
• du nouveau
alors ca fonctionne maintenant
[ 31/12/05 19:04 ] - [ Par admin] - [ Commentaires (1) ]
ce sont peut-être les memes infos mais pas le meme auteur il faut peut etre regarder de ce coté.

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Eléphanteau du PHP | 14 Messages

03 janv. 2006, 21:34

Ce sont les mêmes infos, et c'est aussi le même auteur !!
Il n'y a pas un "mot" particulié à insérer dans la requete, genre INNER JOIN ou IN (SELECT ... FROM....)... ?
Un truc du même type quoi qu'il puisse reconnaitre quelle partie de la table et associée à quelle autre table..... Parce que là en fait, je pense que c'est vraiment un problème de produit cartésien, c'est à dire que j'ai un message qui s'affiche pour chaque utilisateur, j'avais deux users, l'admin et l'anonyme, j'ai créé un nouveau pour vérifier ma théorie, et maintenant j'ai trois messages affichés ^^ ! Il n'y a pas des moyens d'y rémédier, je veux dire... des moyens faciles ? :roll:
ImageQue la force soit en FireFox ^^.

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

03 janv. 2006, 21:45

tu fait appel a 3 tables
phpbb_topics`, `phpbb_users`, `phpbb_posts_text
elles sont nécessaires ? les champs qui sont dans le SELECT font tous parti d'une de ces tables ?

Ensuite tu as
post_id = topic_first_post_id
à quelles tables appartiennent ces champs ?

apres on peut envisager l'ajout un mot clé tel que JOIN.

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute