db_query_range et nombre de résultats retournés !

Salut,

Je rencontre un problème bizarre…
Je fais appel à la fonction taxonomy_select_nodes pour récuperer mes… nodes dans la taxonomie concernée.

Le problème vient du nombre de résultats retournés.

L’appel : db_query_range($sql, $args, 0, variable_get(‘feed_default_items’, 100)) ;

Quelque soit la valeur du dernier paramètre, il me retourne 9 résultats !

Si je colle dans phpMyAdmin la phrase :
SELECT DISTINCT (n.nid), n.sticky, n.title, n.created FROM node n INNER JOIN term_node tn ON n.vid = tn.vid
WHERE tn.tid IN ( 27 ) AND n.status =1 AND n.type = ‘reference_client’

J’obtiens bien ma 20aine de résultats !

Je comprend pas trop là…

Des idées ?

A+

David

#

Est-ce que la requête dans $sql est bien celle que vous espérez ? Pouvez-vous essayer d’afficher le contenu de cette variable, par exemple avec echo $sql; ?

Il y a un appel à db_rewrite_sql() juste avant l’appel à db_query_range(), ce qui peut significativement modifier la requête.

#

Bonjour,
Est-ce que tu passe bien la variable $pager à false lors de l’appel à taxonomy_select_nodes ? Sinon, ce n’est pas db_query_range($sql, $args, 0, variable_get(‘feed_default_items’, 10)) ; qui est appelée, mais pager_query($sql, variable_get(‘default_nodes_main’, 10), 0, $sql_count, $args) ;

Juste au cas où…

#

Salut à tous (je répond aux 2 pour plus de simplicité) et merci de bien vouloir m’aider !

La requête présentée dans mon post est la requête résultante du db_rewrite_sql, juste avant de l’envoyer dans db_query_range.
J’ai aussi essayé avec db_query, idem, 9 résultats.

J’ai vu que dans Drupal, les listes étaient souvent limitées à 10 par défaut amis lç, je ne vois pas pourquoi il me limite !

De plus j’ai déplacé la fonction de taxonomy.module à mon template (en la renommant, évidemment) et j’ai complètement bypassé le pager, je ne fais plus appel qu’à db_query_range

Syndiquer le contenu