Archives FluxBB.fr

Les archives de FluxBB.fr

Vous n'êtes pas identifié(e).

#1 14-09-2009 10:52:42

Illusion
Membre

Récupérer infos de différents forums spécifiés.

Bonjour à tous,
J'ai fait une petite recherche rapide, mais j'ai pas trouvé quelque chose qui me convienne. Je coince seulement dans ma requete sql. Le reste est presque prêt.

    // Générer la requete OR ( implode OR ID = X)
    $where_sql = 'WHERE t.poster = '.$author.(!empty($forums_id) ? ' AND t.forum_id='.implode(' OR t.forum_id='\'\'', $forums_id) : '')
    // Select les topics + explode requete
    $sql = 'SELECT t.id, t.poster, t.subject, t.posted, t.last_post, t.last_post_id, t.last_poster, t.num_views, t.num_replies, t.closed, t.sticky, t.moved_to, t.question FROM '.$db->prefix.'topics AS t '.$where_sql ;

$result = $db->query($sql) or error('Unable to fetch topic list', __FILE__, __LINE__, $db->error());

// If there are topics in this forum (forcément, le code repris dans wiewforum).
if ($db->num_rows($result))
{

$author est une variable qui existe, a déjà été vérifié et fonctionne pour le compte des posts.
$forums_id est un array qui contient les ids des différents forums dans lesquels je veux récupérer du contenu.


Comme vous pouvez le constater, ce que j'essaie de faire.. c'est

SELECT t.id, ... t.question FROM topics where t.poster = 'Illusion' AND (t.forum_id = $forums_id[0] OR forum_id = $forums_id[1] OR ... =$forum_id[8])

Si quelqu'un a une idée de comment arranger cette requete... Je suis pas du tout doué en sql.
Merci d'avance.

Dernière modification par Illusion (14-09-2009 10:53:38)


*-- Illusion --*
PoesieLand, la poésie sommeille en vous !

Hors ligne

#2 14-09-2009 11:16:24

fanf73
Wik-wiki

Re : Récupérer infos de différents forums spécifiés.

Quand tu as ce genre de problème, une bonne solution pour trouver les erreurs est d'afficher à l'écran la requête qui a été générée, en faisant dans ton cas un petit

echo $sql;

Essaie avec ça

$where_sql = 'WHERE t.poster = '.$author.(!empty($forums_id) ? ' AND t.forum_id in ('.implode($forums_id).')' : '')

Nous ne faisons pas le travail à votre place mais nous prenons le temps de vous montrer le chemin. Merci de lire ce que l'on vous dit et de réfléchir avant de re-demander une explication.

Hors ligne

#3 14-09-2009 16:34:33

Illusion
Membre

Re : Récupérer infos de différents forums spécifiés.

Voici ce que donne le [c]echo $sql;[/c] :

SELECT t.id, t.poster, t.subject, t.posted, t.last_post, t.last_post_id, t.last_poster, t.num_views, t.num_replies, t.closed, t.sticky, t.moved_to, t.question FROM topics AS t WHERE t.poster = 'Illusion' AND t.forum_id in (6793139464851)

Au niveau résultat, évidemment, ca ne donne rien.
Je vais chercher un peu et je reviens.


Edit : ca a été rapide tongue.
J'ai juste rajouté dans le implode un [c]',',[/c], ce qui donne :

    $where_sql = 'WHERE t.poster = \''.$author.'\''.(!empty($forums_id) ? ' AND t.forum_id in ('.implode(', ',$forums_id).')' : '') ;

Merci beaucoup pour l'aide.
Il me reste à résoudre mon problème de pagination et c'est ok tongue.
Encore merci pour le coup de main, fanf73

EDIT2 : Je peux pas modifier le titre. Vous pouvez mettre [resolu] .

Dernière modification par Illusion (14-09-2009 16:42:20)


*-- Illusion --*
PoesieLand, la poésie sommeille en vous !

Hors ligne

#4 14-09-2009 16:42:33

fanf73
Wik-wiki

Re : Récupérer infos de différents forums spécifiés.

Oups, j'avais en effet oublié un paramètre yikes


Nous ne faisons pas le travail à votre place mais nous prenons le temps de vous montrer le chemin. Merci de lire ce que l'on vous dit et de réfléchir avant de re-demander une explication.

Hors ligne

Pied de page des forums