Estoy trayendo de la base de datos muchos registros, lo optimo es utilizar el paginador de drupal para que solo muestre una cantidad de registro y el resto los pagine.
El problema es que logro hacer funcionar el pager de drupal 7.
Les dejo el código haber mi se echan una mano.
Cita:
/*propiedades de consulta sql en drupal 7*/
$query = db_select("node", "n")->extend('PagerDefault')->limit($limit);
$query->innerJoin("taxonomy_index", "ti", "ti.nid = n.nid");
$query->innerJoin("field_revision_body", "frb", "frb.revision_id = n.vid");
$query->fields("n", array("title", "nid", "created", "type"))
->fields("frb", array("body_summary"));
$query->condition("n.status", 1, "=")
->condition("n.promote", 1, "=")
->condition("n.type", "contenido_generico", "=")
->condition("ti.tid", $taxonomia, "=");
$query->orderBy('n.created', 'DESC');
$query->range(0, $limit);
/*asignamos a la variable result el resultado de la operacion*/
$result = $query->execute();
/*Recorremos los resultados de la consulta y lo pasamos a un objeto*/
$i = 0;
foreach($result AS $object) {
$html .= " ".$object->nid."<br />";
}
$html .= theme('pager');
return $html;
$query = db_select("node", "n")->extend('PagerDefault')->limit($limit);
$query->innerJoin("taxonomy_index", "ti", "ti.nid = n.nid");
$query->innerJoin("field_revision_body", "frb", "frb.revision_id = n.vid");
$query->fields("n", array("title", "nid", "created", "type"))
->fields("frb", array("body_summary"));
$query->condition("n.status", 1, "=")
->condition("n.promote", 1, "=")
->condition("n.type", "contenido_generico", "=")
->condition("ti.tid", $taxonomia, "=");
$query->orderBy('n.created', 'DESC');
$query->range(0, $limit);
/*asignamos a la variable result el resultado de la operacion*/
$result = $query->execute();
/*Recorremos los resultados de la consulta y lo pasamos a un objeto*/
$i = 0;
foreach($result AS $object) {
$html .= " ".$object->nid."<br />";
}
$html .= theme('pager');
return $html;