Ver Mensaje Individual
  #1 (permalink)  
Antiguo 08/07/2012, 11:58
Joz
 
Fecha de Ingreso: junio-2012
Mensajes: 5
Antigüedad: 11 años, 11 meses
Puntos: 0
Paginar resultados PHP en columnas

Saludos cordiales a todos los usuarios de Forosdelweb.com. En esta ocasión quiero hacer una consulta acerca del tema de Paginación en PHP por consulta a base de datos MySQL. Ya antes realicé una consulta en este foro y me respondieron muy bien y correcto y por eso vuelvo a dar las gracias.
Sin dar más rodeos, vamos a la pregunta en sí.
Logré realizar un paginador con resultados más un buscador desde cero el cual funciona perfectamente. Ahora lo que deseo es que tales resultados se paginen en columnas. Es decir, algo así:
Código HTML:
<table>
    <tr>
        <td>$resultado</td>
        <td>$resultado</td>
        <td>$resultado</td>
    </tr>
    <tr>
        <td>$resultado</td>
        <td>$resultado</td>
        <td>$resultado</td>
    </tr>
        <tr>
        <td>$resultado</td>
        <td>$resultado</td>
        <td>$resultado</td>
    </tr>
</table> 
Para esto, dejo -por si acaso se necesite- el código del "form" del buscador primero:

Código HTML:
<form method="GET" action="/search/">
     <input name="busqueda" type="text" value="<?php echo $_GET['busqueda'];?>" />
     <input type="submit" name="btnBuscar" value="Buscar" />
</form> 
Ahora dejo el código el cual está paginando hasta un máximo de 9 registros mostrado por página.


Código PHP:
<!-- PAGINACION !-->
<table width="100%" height="100%" border="0" cellpadding="0" cellspacing="0">
<?
//FILTRO//
if ($_REQUEST['busqueda']!="")
{
    
$filtro "LIKE '%".$_REQUEST['busqueda']."%'";


//CONECTAR A BASE DE DATOS//
$con=mysql_connect("000webhost.com","usuario_joz","contraseña");
mysql_select_db("usuario_lugares"$con); 

//OBTENEMOS LOS RESULTADOS//
$result mysql_query("SELECT * FROM Departamentos WHERE Descripcion "$filtro .";"$con); 

// TOMAMOS LA CANTIDAD DE RESULTADOS
$total mysql_num_rows($result);

// CANTIDAD DE RESULTADOS //
if ($total==0)
{   if (
$_REQUEST['busqueda']!="")
        
$resultados=$_REQUEST['busqueda'];
        echo 
"No se encontraron resultados para $resultados"
} else {
    if (
$_REQUEST['busqueda']!="")
        
$resultados=$_REQUEST['busqueda'];
        echo 
"Se encontraron $total resultados para $resultados" 
}
// PAGINAMOS //
$registros=9;  //cantidad de resultados por pagina 

//CALCULAMOS EL INICIO EN LA PRIMERA PAGINA//
if(isset($_GET['page'])){
    
$pagina=$_GET['page'];
}else{
    
$pagina=1;
}

if (
is_numeric($pagina))
    
$inicio=(($pagina-1)*$registros);
else
    
$inicio=0;
// HACEMOS LA PAGINACION //
$result mysql_query("SELECT * FROM Departamentos WHERE Descripcion "$filtro ." LIMIT $inicio,$registros;"$con); 
$paginas ceil($total/$registros);
?>
<?php
if ($total!=0)

{

if (
$fila mysql_fetch_array($result));

do {
?>

<!-- INICIO DE FILAS !-->
<tr>
    <td><?php echo $fila['Titulo'];?></td>
</tr>
<!-- FIN INICIO DE FILAS !-->    
          
<?php
} while ($fila mysql_fetch_array($result));

}

}
?>
</table>
<!-- FIN PAGINACION !-->
Y este es el código para el contador de resultados -entiéndase: Anterior, 1, 2..., Siquiente-

Código PHP:
<!-- ENLACES DE PAGINAS !-->
<table width="90%" border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td>
 <?
if ($paginas>1// ANTERIOR
{
    if (
$pagina>&& $paginas>1)
        echo 
"<a href='index?page=". ($pagina-1) ."&busqueda=".$_REQUEST['busqueda']."'>Anterior</a> ";
    else
        echo 
"Anterior ";
}
if (
$paginas>1// NUMERACION
{
    for (
$cont=1;$cont<=$paginas;$cont++)
    {
        if (
$cont==$pagina)
            echo 
"$cont ";
        else
            echo 
"<a href='index?page="$cont ."&busqueda=".$_REQUEST['busqueda']."'>$cont</a> ";
    }
}
if (
$paginas>1// SIGUIENTE
{
    if (
$pagina<$paginas)
        echo 
"<a href='index?page=". ($pagina+1) ."&busqueda=".$_REQUEST['busqueda']."'>Siguiente</a> ";
    else
        echo 
"Siguiente ";
}
?>
    </td>
  </tr>
</table>
<!-- ENLACES DE PAGINAS !-->
Lo que deseo lograr es que los 9 resultados por paginas se dividan en tres columnas en esta sección:
<!-- INICIO DE FILAS !-->
<tr>
<td><?php echo $fila['Titulo'];?></td>
</tr>
<!-- FIN INICIO DE FILAS !-->

Muchas gracias por sus respuestas, ojalá me puedan ayudar para terminar mi proyecto.