FAQ
Hola lista:

Estoy usando PEAR DB y Smarty. El caso es que debo pasarle a una variable de Smarty la cantidad de filas total de una consulta X. Lo que trato de hacer es algo como paginar los resultados de una consulta. Miren el código que dejo abajo:

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

SmartyPaginate::connect();
SmartyPaginate::setLimit(5);
$gbresult = $database->query("SELECT * FROM libro_de_visitas LIMIT " . SmartyPaginate::getCurrentIndex() . "," . SmartyPaginate::getLimit());
$gbtotal = $database->query("SELECT COUNT(*) AS total FROM libro_de_visitas");
$gbtotal->fetchRow();
SmartyPaginate::setTotal($gbtotal['total']);

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

Como ven lo que necesito es el valor del COUNT de la consulta $gbtotal pero no se como retornarlo usando PEAR. Me dan una ayuda?

Salu2

Reynier Pérez Mira

3ero. Ing. Informática

Entre más inteligente me siento, más me doy cuenta de lo ignorante que soy.

Search Discussions

  • Grenville Tryon Pera at Apr 11, 2005 at 9:56 pm
    Pregunta ilusa:

    No resulta ser mas complejo aun el uso de templates que de codigo php?
    Digo, php es tan sencillo que hacer templates para php me parece poco
    sensato.
    SmartyPaginate::connect();
    SmartyPaginate::setLimit(5);
    $gbresult = $database->query("SELECT * FROM libro_de_visitas LIMIT " .
    SmartyPaginate::getCurrentIndex() . "," . SmartyPaginate::getLimit());
    $gbtotal = $database->query("SELECT COUNT(*) AS total FROM
    libro_de_visitas");
    $gbtotal->fetchRow();
    SmartyPaginate::setTotal($gbtotal['total']);


    Saludos,

    Grenville Tryon


    La primera revista php & MYSQL en el Peru
    http://www.phpperu.com
    webmaster@phpperu.com

    _________________________________________________________________
    MSN Latino: el sitio MSN para los hispanos en EE.UU. http://latino.msn.com/
  • Clever Flores at Apr 11, 2005 at 10:19 pm
    Yo soy de la misma opinion; trabajo normalmente en MVC
    y en la capa de Vista prefiero usa PHP puro sin
    templates en su formato mas sencillo; que pueda ser
    editado por un editor wysiwyg y me permita
    olvidarme del diseño;

    Ahora respecto al codigo de consulta; no me parece
    efectivo estar calculando la cantidad total de datos
    en cada paginacion; con pocos registros no hay
    problema; pero si son muchos ...
    Lo que normalmente hago es guardar el total en una
    cookie o session en la primera consulta y luego
    reusarla en la paginacion.

    Respecto al recojo de datos con Pear; creo que primero
    hay que revisar bien la documentacion (RTFM); no es
    dificil visitando el sitio oficial de pear:
    http://pear.php.net

    y especificamente:
    http://pear.php.net/manual/en/package.database.db.intro-fetch.php


    --- Grenville Tryon Pera wrote:
    Pregunta ilusa:

    No resulta ser mas complejo aun el uso de templates
    que de codigo php?
    Digo, php es tan sencillo que hacer templates para
    php me parece poco
    sensato.
    SmartyPaginate::connect();
    SmartyPaginate::setLimit(5);
    $gbresult = $database->query("SELECT * FROM
    libro_de_visitas LIMIT " .
    SmartyPaginate::getCurrentIndex() . "," .
    SmartyPaginate::getLimit());
    $gbtotal = $database->query("SELECT COUNT(*) AS
    total FROM
    libro_de_visitas");
    $gbtotal->fetchRow();
    SmartyPaginate::setTotal($gbtotal['total']);


    Saludos,

    Grenville Tryon


    La primera revista php & MYSQL en el Peru
    http://www.phpperu.com
    webmaster@phpperu.com

    _________________________________________________________________
    MSN Latino: el sitio MSN para los hispanos en EE.UU.
    http://latino.msn.com/

    --
    PHP Spanish Localization Talk Mailing List
    (http://www.php.net/)
    To unsubscribe, visit: http://www.php.net/unsub.php
    ====================================
    Clever Flores
    Desarrollo de Sistemas Web
    y Capacitación en PHP
    http://cleverflores.blogspot.com/
    cleverflores@gmail.com

    _________________________________________________________
    Do You Yahoo!?
    La mejor conexión a internet y 25MB extra a tu correo por $100 al mes. http://net.yahoo.com.mx
  • Andres Ferrando at Apr 13, 2005 at 2:58 pm
    Respecto a tu duda, como bien dicen, el manual es claro: fetchRow
    devuelve un resultado que es el que deberías guardar y pasar al template.

    Respecto al uso de templates, creo que usar PHPTal es realmente una
    excelente opción, que mejora la separación en capas, y produce xhtml
    bien formado.

    saludos,

    PD: en el histórico de la lista van a encontrar una extensa e
    interesante discusión sobre este tema.

    Clever Flores escribió:
    Yo soy de la misma opinion; trabajo normalmente en MVC
    y en la capa de Vista prefiero usa PHP puro sin
    templates en su formato mas sencillo; que pueda ser
    editado por un editor wysiwyg y me permita
    olvidarme del diseño;

    Ahora respecto al codigo de consulta; no me parece
    efectivo estar calculando la cantidad total de datos
    en cada paginacion; con pocos registros no hay
    problema; pero si son muchos ...
    Lo que normalmente hago es guardar el total en una
    cookie o session en la primera consulta y luego
    reusarla en la paginacion.

    Respecto al recojo de datos con Pear; creo que primero
    hay que revisar bien la documentacion (RTFM); no es
    dificil visitando el sitio oficial de pear:
    http://pear.php.net

    y especificamente:
    http://pear.php.net/manual/en/package.database.db.intro-fetch.php


    --- Grenville Tryon Pera wrote:
    Pregunta ilusa:

    No resulta ser mas complejo aun el uso de templates
    que de codigo php?
    Digo, php es tan sencillo que hacer templates para
    php me parece poco
    sensato.

    SmartyPaginate::connect();
    SmartyPaginate::setLimit(5);
    $gbresult = $database->query("SELECT * FROM
    libro_de_visitas LIMIT " .
    SmartyPaginate::getCurrentIndex() . "," .
    SmartyPaginate::getLimit());
    $gbtotal = $database->query("SELECT COUNT(*) AS
    total FROM
    libro_de_visitas");
    $gbtotal->fetchRow();
    SmartyPaginate::setTotal($gbtotal['total']);
    Saludos,

    Grenville Tryon


    La primera revista php & MYSQL en el Peru
    http://www.phpperu.com
    webmaster@phpperu.com


    _________________________________________________________________
    MSN Latino: el sitio MSN para los hispanos en EE.UU.
    http://latino.msn.com/

    --
    PHP Spanish Localization Talk Mailing List
    (http://www.php.net/)
    To unsubscribe, visit: http://www.php.net/unsub.php

    ====================================
    Clever Flores
    Desarrollo de Sistemas Web
    y Capacitación en PHP
    http://cleverflores.blogspot.com/
    cleverflores@gmail.com

    _________________________________________________________
    Do You Yahoo!?
    La mejor conexión a internet y 25MB extra a tu correo por $100 al mes. http://net.yahoo.com.mx
    --
    Andrés Ferrando <anferr@mecon.gov.ar>
    Unidad de Administración, Desarrollo y Mantenimiento de Sistemas
    Secretaría de Industria, Comercio y PyME

Related Discussions

Discussion Navigation
viewthread | post
Discussion Overview
groupphp-general-es @
categoriesphp
postedApr 11, '05 at 4:32p
activeApr 13, '05 at 2:58p
posts4
users4
websitephp.net

People

Translate

site design / logo © 2022 Grokbase