Hola, tengo este codiguito para paginar una busqueda en 50 registros por vez....un programador me dice que esto hace 50 veces una busqueda que podría hacer en una sola vez....
Alguien concuerda? Qué habría que cambiarle? Muchas gracias!!
Código PHP:
if ($txt_criterio1<>""|$txt_criterio2<>""|$txt_criterio3<>"") {
$sql="SELECT distinct id FROM datos ".$criterio;
$res=mysql_query($sql);
$numeroRegistros=mysql_num_rows($res);
if($numeroRegistros>0)
{
//////////elementos para el orden
if(!isset($orden))
{
$orden="apellido";
}
//////////fin elementos de orden
//////////calculo de elementos necesarios para paginacion
// CANTIDAD DE REGISTROS POR PAGINA
$tamPag=50;
//pagina actual si no esta definida y limites
if(!isset($_GET["pagina"]))
{
$pagina=1;
$inicio=1;
$final=$tamPag;
}else{
$pagina = $_GET["pagina"];
}
//calculo del limite inferior
$limitInf=($pagina-1)*$tamPag;
//calculo del numero de paginas
$numPags=ceil($numeroRegistros/$tamPag);
if(!isset($pagina))
{
$pagina=1;
$inicio=1;
$final=$tamPag;
}else{
$seccionActual=intval(($pagina-1)/$tamPag);
$inicio=($seccionActual*$tamPag)+1;
if($pagina<$numPags)
{
$final=$inicio+$tamPag-1;
}else{
$final=$numPags;
}
if ($final>$numPags){
$final=$numPags;
}
}
//////////fin de dicho calculo
//////////creacion de la consulta con limites
$sql="SELECT distinct id,mrin,apellido,fena,luna FROM datos ".$criterio." ORDER BY ".$orden.",id ASC LIMIT ".$limitInf.",".$tamPag;
$res=mysql_query($sql);
//////////fin consulta con limites
echo "<font class=texto>Fueron encontrados </font><font class=textobold>".$numeroRegistros."</font><font class=texto> resultados</font>";