Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Ayuda Crear Columnas en Paginacion

Estas en el tema de Ayuda Crear Columnas en Paginacion en el foro de PHP en Foros del Web. Hola que tal, mi nombre es Alejandro ( si como la Canción de Lady gaga ), disculpen si mi primera interacción en el sitio es ...
  #1 (permalink)  
Antiguo 16/08/2010, 18:58
 
Fecha de Ingreso: agosto-2010
Mensajes: 24
Antigüedad: 13 años, 8 meses
Puntos: 2
Pregunta Ayuda Crear Columnas en Paginacion

Hola que tal, mi nombre es Alejandro ( si como la Canción de Lady gaga), disculpen si mi primera interacción en el sitio es para dar un poco de lata,
bueno hace unos días he estado intentando hacer una pagina que pagine unos datos, encontré un script que funciona de maravilla, pero lo que yo quisiera es que me mostrara los resultados en columnas de forma que su formato sea como el de una catalogo, pensé que una solución seria poner una sentencia que cuando llegara a determinado numero de datos en la fila marcara un salto, y asi, pero la verdad solo se la teoría no se como hacerlo.

A continuación dejo el Código de la paginación funciona muy bien. si me pudieran ayudar a modificarlo.

Código:
<?
$host = "localhost";
$user = "root";
$pass = "";
$db = "consulta";
 
$mysql_connect = @mysql_connect($host, $user, $pass);
$mysql_select_db = @mysql_select_db($db, $mysql_connect);
 
if($_GET['pagina']) {
$pagina = $_GET['pagina'];
} else {
$pagina = 1;
}
if(!is_numeric($pagina)) {
exit;
}
$limite = "6";
$max = $limite * $pagina;
$min = ($pagina - 1) * $limite;
$paginanext = $pagina + 1;
$paginaprev = $pagina - 1;
 
$sql = mysql_query("SELECT SQL_CALC_FOUND_ROWS * FROM articulos LIMIT $min,$max");
$mysqlnum = mysql_num_rows(mysql_query("SELECT * FROM articulos"));
 
$npaginasnr = $mysqlnum / $limite;
$npaginas = ceil($npaginasnr);
 
while($n=mysql_fetch_array($sql)) {
echo $n[titulo].'<br>';
}
if($pagina>1) {
echo '<a href="'.$_SERVER['SCRIPT_NAME'].'?pagina='.$paginaprev.'"><br><-Atras</b></a> ';
}
for($i=1;$i<=$npaginas;$i++) {
if($pagina==$i) {
echo '<b>'.$i.'</b> ';
} else {
echo '<a href="'.$_SERVER['SCRIPT_NAME'].'?pagina='.$i.'">'.$i.'</a> ';
}
}
if ($npaginas!=$pagina) {
echo '<a href="'.$_SERVER['SCRIPT_NAME'].'?pagina='.$paginanext.'"><br>Siguiente></b></a> ';
}
?>

Última edición por AlejandroMora; 16/08/2010 a las 19:05
  #2 (permalink)  
Antiguo 17/08/2010, 02:48
Avatar de kalebra  
Fecha de Ingreso: mayo-2010
Ubicación: Marbella
Mensajes: 44
Antigüedad: 14 años
Puntos: 5
Respuesta: Ayuda Crear Columnas en Paginacion

Buenas que tal, es muy sencillo para hacer las tablas solo necesitamos crear en ese mismo código las etiquetas <div>, <table>, <tr> y <td>, que necesitemos para ordenar la lista por columnas y filas.
También te he puesto unas recomendaciones, en el código para que las veas así no te dará ningún notice: bla bla bla.
La tabla no está ni centrada, ni nada de nada, simplemente es para que veas el ejemplo, la maquetación de la tabla tendrás que hacerla probando y viendo como queda, pero creo que el ejemplo es muy claro y sencillo de entender.
Código PHP:
<?php
// -------------------------------------------- Ponle <?php en vez de <?
$host "localhost";
$user "root";
$pass "";
$db "consulta";
 
$mysql_connect = @mysql_connect($host$user$pass);
$mysql_select_db = @mysql_select_db($db$mysql_connect);
 
if(
$_GET['pagina']) {
$pagina $_GET['pagina'];
} else {
$pagina 1;
}
if(!
is_numeric($pagina)) {
exit;
}
$limite "6";
$max $limite $pagina;
$min = ($pagina 1) * $limite;
$paginanext $pagina 1;
$paginaprev $pagina 1;
 
$sql mysql_query("SELECT SQL_CALC_FOUND_ROWS * FROM articulos LIMIT $min,$max");
$mysqlnum mysql_num_rows(mysql_query("SELECT * FROM articulos"));
 
$npaginasnr $mysqlnum $limite;
$npaginas ceil($npaginasnr);
 
while(
$n=mysql_fetch_array($sql)) {
// -------------------------------------------- Añadir echo '<etiquetas>'; 
echo '<div>';
echo 
'<table>';
echo 
'<tr><td>'
// -------------------------------------------- Lo que esta entre las llaves [titulo] ponle comillas simples, ['titulo']; 
echo $n['titulo'].'<br>';
// -------------------------------------------- Añadir echo '<etiquetas>'; 
echo '</td><td>';
}
if(
$pagina>1) {
echo 
'<a href="'.$_SERVER['SCRIPT_NAME'].'?pagina='.$paginaprev.'"><br><-Atras</b></a> ';
}
for(
$i=1;$i<=$npaginas;$i++) {
if(
$pagina==$i) {
echo 
'<b>'.$i.'</b> ';
} else {
echo 
'<a href="'.$_SERVER['SCRIPT_NAME'].'?pagina='.$i.'">'.$i.'</a> ';
}
}
if (
$npaginas!=$pagina) {
echo 
'<a href="'.$_SERVER['SCRIPT_NAME'].'?pagina='.$paginanext.'"><br>Siguiente></b></a> ';
//
// -------------------------------------------- Añadir echo '<etiquetas>'; 
echo '</td></tr>';
echo 
'</table>'
echo 
'</div>';
}
?>
Saludos
__________________
- La única causa perdida, es la que se abandona.
  #3 (permalink)  
Antiguo 17/08/2010, 12:00
 
Fecha de Ingreso: agosto-2010
Mensajes: 24
Antigüedad: 13 años, 8 meses
Puntos: 2
Respuesta: Ayuda Crear Columnas en Paginacion

Muchas gracias por la respuesta, y por las recomendaciones. si es algo como lo que me gustaría lograr, pero así solo me muestra los datos en una sola fila. yo quisiera que la consulta estuviera en varias filas. algo asi
  #4 (permalink)  
Antiguo 17/08/2010, 13:57
Avatar de kalebra  
Fecha de Ingreso: mayo-2010
Ubicación: Marbella
Mensajes: 44
Antigüedad: 14 años
Puntos: 5
Respuesta: Ayuda Crear Columnas en Paginacion

Para eso debes de ir jugando con los echo y las etiquetas.
Como veras las ultimas etiquetas, las he cambiado de sitio, y las he puesto justo debajo de
Código PHP:
echo $n['titulo'
Aquí te dejo el ejemplo con los echo ya cambiados.
Código PHP:
<?php
// -------------------------------------------- Ponle <?php en vez de <?
$host "localhost";
$user "root";
$pass "";
$db "consulta";
 
$mysql_connect = @mysql_connect($host$user$pass);
$mysql_select_db = @mysql_select_db($db$mysql_connect);
 
if(
$_GET['pagina']) {
$pagina $_GET['pagina'];
} else {
$pagina 1;
}
if(!
is_numeric($pagina)) {
exit;
}
$limite "6";
$max $limite $pagina;
$min = ($pagina 1) * $limite;
$paginanext $pagina 1;
$paginaprev $pagina 1;
 
$sql mysql_query("SELECT SQL_CALC_FOUND_ROWS * FROM articulos LIMIT $min,$max");
$mysqlnum mysql_num_rows(mysql_query("SELECT * FROM articulos"));
 
$npaginasnr $mysqlnum $limite;
$npaginas ceil($npaginasnr);
 
while(
$n=mysql_fetch_array($sql)) {
// -------------------------------------------- Añadir echo '<etiquetas>'; 
echo '<div>';
echo 
'<table>';
echo 
'<tr><td>'
// -------------------------------------------- Lo que esta entre las llaves [titulo] ponle comillas simples, ['titulo']; 
echo $n['titulo'].'<br>';
// -------------------------------------------- Añadir echo '<etiquetas>'; 
echo '</td></tr>';
echo 
'</table>'
echo 
'</div>';
// -------------------------------------------- Ahora sale en vertical con la insercion de los echo aqui arriba.
}
if(
$pagina>1) {
echo 
'<a href="'.$_SERVER['SCRIPT_NAME'].'?pagina='.$paginaprev.'"><br><-Atras</b></a> ';
}
for(
$i=1;$i<=$npaginas;$i++) {
if(
$pagina==$i) {
echo 
'<b>'.$i.'</b> ';
} else {
echo 
'<a href="'.$_SERVER['SCRIPT_NAME'].'?pagina='.$i.'">'.$i.'</a> ';
}
}
if (
$npaginas!=$pagina) {
echo 
'<a href="'.$_SERVER['SCRIPT_NAME'].'?pagina='.$paginanext.'"><br>Siguiente></b></a> ';
}
?>
Como te digo es simplemente ir cambiando las etiquetas de sitio dependiendo de cómo quieras que se muestren los datos.
__________________
- La única causa perdida, es la que se abandona.

Etiquetas: columnas, paginacion
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 19:33.