Ver Mensaje Individual
  #1 (permalink)  
Antiguo 17/11/2006, 23:37
mauricio776
 
Fecha de Ingreso: octubre-2003
Mensajes: 17
Antigüedad: 20 años, 6 meses
Puntos: 0
problema con paginacion de resultados

holas,

este un codigo que hice para listar losdatos personales de unos socios al cual luego encontre un codigo que permite paginar los resultados. El codigo de paginacion lo pude acoplar perfectamente a mi codigo excepto cuando selecciono un filtro al listado. Como pueden ver el listado lo puedo ordenar por apellido o por rut mediante un menu desplegable, el problema es que cuando aplico un ordenamiento, se ordena todo el lista bien en la 1era pagina pero luego se pierde ese ordenamiento en las siguientes paginas. Que me faltaria para que no me pase eso??
Ojala me hayan entendido el problema.
Saludos.


Código PHP:

if ($ORDENAR == ORDENAR){
switch (
$ordenar){
    
    case 
0
            if (!isset(
$pag)) $pag 1
                
$result mysql_query("SELECT COUNT(*) FROM socios WHERE (estado='activo')",$bd); 
                list(
$total) = mysql_fetch_row($result);
                
$tampag 10;
                
$reg1 = ($pag-1) * $tampag;
                
$result mysql_query("SELECT * FROM socios WHERE (estado='activo') ORDER BY rut
                  LIMIT $reg1, $tampag"
$bd); 
            break;
    
    case 
1
            if (!isset(
$pag)) $pag 1
                
$result mysql_query("SELECT COUNT(*) FROM socios WHERE (estado='activo')",$bd); 
                list(
$total) = mysql_fetch_row($result);
                
$tampag 10;
                
$reg1 = ($pag-1) * $tampag;
                
$result mysql_query("SELECT * FROM socios WHERE (estado='activo') ORDER BY apellido
                LIMIT $reg1, $tampag"
$bd); 
            break;
            
}
}
else
{
if (!isset(
$pag)) $pag 1
$result mysql_query("SELECT COUNT(*) FROM socios WHERE (estado='activo')",$bd); 
list(
$total) = mysql_fetch_row($result);
$tampag 10;
$reg1 = ($pag-1) * $tampag;
$result mysql_query("SELECT * FROM socios WHERE (estado='activo') ORDER BY num_socio
LIMIT $reg1, $tampag"
$bd); 
}


function 
paginar($actual$total$por_pagina$enlace) {
  
$total_paginas ceil($total/$por_pagina);
  
$anterior $actual 1;
  
$posterior $actual 1;
  if (
$actual>1)
    
$texto "<a href=\"$enlace$anterior\">&laquo;</a> ";
  else
    
$texto "<b>&laquo;</b> ";
  for (
$i=1$i<$actual$i++)
    
$texto .= "<a href=\"$enlace$i\">$i</a> ";
  
$texto .= "<b>$actual</b> ";
  for (
$i=$actual+1$i<=$total_paginas$i++)
    
$texto .= "<a href=\"$enlace$i\">$i</a> ";
  if (
$actual<$total_paginas)
    
$texto .= "<a href=\"$enlace$posterior\">&raquo;</a>";
  else
    
$texto .= "<b>&raquo;</b>";
  return 
$texto;
}

if (
$row mysql_fetch_array($result)){

echo 
"<center><table width='97%' border= '1' bordercolor= '#0000CC' cellPadding=3 cellspacing=0 align=center> \n";

echo 
"<tr> \n";

//echo "<td class='celda_encabezado'><b> No. </b></td> \n";
echo "<td class='celda_encabezado'><b><center> RUT </center></b></td> \n";
echo 
"<td class='celda_encabezado'><b> NOMBRES </b></td> \n";
echo 
"<td class='celda_encabezado'><b> AP.PATERNO</b></td> \n";
echo 
"<td class='celda_encabezado'><b> AP.MATERNO </b></td> \n";
//echo "<td class='celda_encabezado'><b> TELEFONO </b></td> \n";
echo "<td class='celda_encabezado'><b> DETALLES </b></td> \n";
echo 
"<td class='celda_encabezado'><b> MODIFICAR </b></td> \n";
//echo "<td class='celda_encabezado'><b> ELIMINAR </b></td> \n";
echo "<td class='celda_encabezado'><b> CUOTAS </b></td> \n";
//echo "<td class='celda_encabezado'><b> BENEFICIOS </b></td> \n";
echo "</tr \n>";



do {

if(
$bgcolor == '#FFFFFF')$bgcolor '#CCCCCC';
else 
$bgcolor '#FFFFFF';

echo 
"<tr> \n";

//echo "<td bordercolor=#FFFFFF bgcolor=".$bgcolor."><div align='center'>".$row["num_socio"]."</div></td>\n";
echo "<td bordercolor=#FFFFFF bgcolor=".$bgcolor."><center>".$row["rut"]."</center></td>\n";
echo 
"<td bordercolor=#FFFFFF bgcolor=".$bgcolor."><center>".$row["nombre"]."</center></td>\n";
echo 
"<td bordercolor=#FFFFFF bgcolor=".$bgcolor."><center>".$row["apellido"]."</center></td>\n";
echo 
"<td bordercolor=#FFFFFF bgcolor=".$bgcolor."><center>".$row["apellido_2"]."</center></td>\n";
//echo "<td bordercolor=#FFFFFF bgcolor=".$bgcolor."><center>".$row["telefono"]."</center></td>\n";
echo '<td bordercolor=#FFFFFF bgcolor='.$bgcolor.'><center><a href="ver_detalles_socio.php?num_socio='.$row["num_socio"].'"><img src="imagenes/ver.gif" width="30" height="30" border="0" /></a></center></td>';
echo 
'<td bordercolor=#FFFFFF bgcolor='.$bgcolor.'><center><a href="modificar_socio.php?num_socio='.$row["num_socio"].'"><img src="imagenes/modificar.gif" width="30" height="30" border="0" /></a></center></td>';
//echo '<td bordercolor=#FFFFFF bgcolor='.$bgcolor.'><center><a href="eliminar_socio.php?num_socio='.$row["num_socio"].'"><img src="imagenes/eliminar.gif" width="30" height="30" border="0" /></a></center></td>';
echo '<td bordercolor=#FFFFFF bgcolor='.$bgcolor.'><center><a href="pago_de_cuotas.php?num_socio='.$row["num_socio"].'"><img src="imagenes/DOLLAR.gif" width="30" height="30" border="0" /></a></center></td>';
//echo '<td bordercolor=#FFFFFF bgcolor='.$bgcolor.'><center><a href="beneficios_socio.php?num_socio='.$row["num_socio"].'"><img src="imagenes/balls8.gif" width="30" height="30" border="0" /></a></center></td>';
echo "</tr> \n";
 

} while (
$row mysql_fetch_array($result));

echo 
"</table></center>\n";

else {

echo 
"&iexcl; La base de datos est&aacute; vacia !";

}

mysql_close ($bd);