By: Martin Clasen
Date: 2004-08-20
Time: 10:10
|
A way to display page by page, larges queryes.
A way to display page by page, larges queryes.
include_once('tbs_class.php') ;
/**
* mmmd
*
* Tipo: función de consulta (MySql)
* Nombre: tabla_cant
* Función: cuenta la cantidad de resultados de la consulta
* @consulta string representa la consulta a ejecutar (SELECT)
* @return false (0) si no existen resultados.
int cantidad de resultados
*/
function tabla_cant($consulta)
{
if ( eregi("from(.*)limit", $consulta, $regs ) ) {
$sql_cantidad = "SELECT count(*) AS cantidad FROM" . $regs[1] ;
if(!$res=mysql_query($sql_cantidad)) return 0 ;
if (mysql_num_rows($res) == 0) return 0 ;
$tabla = mysql_fetch_assoc($res) ;
return $tabla["cantidad"] ;
}
else
return 0;
}
//Default value
if (!isset($_GET)) $_GET=&$HTTP_GET_VARS ;
if (isset($_GET['PageNum'])) {
$PageNum = $_GET['PageNum'] ;
} else {
$PageNum = 1 ;
}
$PageSize = 2 ;
$inicio=($PageNum-1)*$PageSize;
$TBS = new clsTinyButStrong ;
$TBS->LoadTemplate('tbs_us_examples_datamysql.htm') ;
//Merge the block by page
require($_SERVER['DOCUMENT_ROOT'].'/cnx_mysql.php');
$sql="SELECT * FROM t_tbs_exemples LIMIT $inicio,$PageSize";
$sql_cant=tabla_cant($sql);
$TBS->MergeBlock('blk1',$cnx_id,$sql,$PageSize,1,$sql_cant) ;
$TBS->MergeNavigationBar('nv',array('size'=>10,'pos'=>'centred'),$PageNum,$sql_cant,$PageSize) ;
mysql_close($cnx_id) ;
$TBS->Show() ; |
my web page: http://unisistemas.com.ar/sites/mmmd
|