hola a todos.
muy buen articulo, sin embargo el codigo funciona para una sola tabla, en mi caso estoy manejando varias tablas y no he podido realizar la consulta, aqui pongo mi consulta:
SELECT a.PLU, a.ProNombrComer, b.CatNombre, c.SubNombre, d.PrvNombre, e.VecFecha
FROM
elipsis_productos a, elipsis_categorias b, elipsis_subcategorias c, elipsis_proveedores d, elipsis_vencimientos e, elipsis_ventas, elipsis_prvproalm
WHERE
c.CatCodigo = b.CatCodigo AND a.SubCodigo = c.SubCodigo AND elipsis_ventas.VenCodigo = e.VenCodigo AND a.ProCodigo = elipsis_prvproalm.ProCodigo AND
elipsis_prvproalm.ProCodigo = elipsis_ventas.ProCodigo AND elipsis_prvproalm.PrvCodigo = d.PrvCodigo
La verdad es exelente y claro. Lo aplique al pie de la letra y funciono exactamente de la manera esperada. lo unico que tuve que cambiarle los estilos al numero de hoja donde se encuentra ya que me lo ponia del mismo color que el fondo. pero la funcionalidad es exelente. Ojala yo aprenda y pueda ayudar a la gente como me han ayudado a mi. Solo puedo ofrecer ayuda con 3dsmax si alguien lo necesita, en esto soy jr, ya sere semisr y luego sr jajajaj. Saludos y Muchisimas gracias. Felicitaciones a quien ha dictado este tutorial.
saludos
damian
EXCELENTE articulo.
Soy nuevo en PHP, vengo de ASP.NET donde esto de la paginación se hace solamente colocando un tag en la página.
Pero bueno, tenía experiencia del ASP regular que es muy parecido al PHP y nunca vi algo tan fácil en ASP como lo que se expuso aquí. Creo que lo que ayuda mucho es la función "LIMIT" de MySQL.
De cualquier forma el artículo está muy bien escrito, los felicito, y sobre todo, GRACIAS.
Una consulta, tengo una base de datos de producto con diferentes tipos de categorias, al listarla selecciono un tipo de categoria y sobre esa consulta paginar, no perdiendo el tipo de categoria o criterio, alguien podría ayudarme....!!!
Una consulta, tengo una base de datos de producto con diferentes tipos de categorias, al listarla selecciono un tipo de categoria y sobre esa consulta paginar, no perdiendo el tipo de categoria o criterio, alguien podría ayudarme....!!!
26/4/09
buen tutorialPor: ,,WImuy bueno y bien explicado
06/5/09
Todo Muy Bueno!, Pero Reporto un mal link?Por: FerEn esta página cuyo url es:
http://www.desarrolloweb.com/articulos/1035.php
Al comienzo de este tutotial el link que dice:
"ver el resultado que vamos a conseguir en este artículo"
Da un erro de MySQL, es temporal ?, le están haciendo Mantenimiento al Web?.
¡Quiero contribuir.!
¡Muchas Gracias a Desarrolloweb !
18/6/09
EliminarPor: GonzaloY si ha este ejercicio le quisiera agregar unos checks con la opcion de eliminar cada registro seleccionado.!
04/7/09
paginacionPor: AntonioHola,
Tengo una base muy grande y quiero limitar el nº de páginas a 11 en total : 5 antes de la página seleccionada y 5 después de esta. Como puedo hacerlo ? Gracias.
buen aporte.
<a href="http://www.developerusoft.com/" title="Aplicaciones Web" >Aplicaciones Web</a>
25/7/09
Un detallitoPor: CamilongOYo reemplazaría:
if (!$pagina) {
$inicio = 0;
$pagina=1;
}
else {
$inicio = ($pagina - 1) * $TAMANO_PAGINA;
}
por:
if (empty($pagina)) {
$inicio = 0;
}
else
$inicio = ($pagina * $limite)+1;
¿Porqué?, simple, porque si $pagina es igual a 1, $inicio tomará el valor 0, por lo que habrá una página que mostrará dos veces el mismo contenido ya que comenzará en la misma parte.
Así nos evitamos darle un valor 1 a $pagina cuando esta esté vacía o sea 0, ya que se quita automáticamente la posibilidad de que la página sea 1.
La función empty retorna un valor 0 si es que no existe, asi que si el get lanza vacío, si o si, resultará, comprobado.
Ahora, un rooteo rápido, por ejemplo, si $limite es 10 elementos y el total es 25, significa que para la página 0, se presentarán los 10 primeros, para la página numerada como 1 serán desde el 11 -> (10*1)+1 hasta el 20 y asi...
Ahora, para el usuario que pedía hacer una paginación limitada, estuve desarrollando recién el código, te lo muestro y me dices si resulta, cualquier bug me mandas un correo a camilongo@live.cl, en este caso se muestran 3 links por página, ahi adaptala para 5:
//Incluímos el archivo de conexión
$limite= 10;
$pagina = $_GET["pagina"];
if (empty($pagina)) {
$inicio = 0;
$primera = true;
}
else
$inicio = ($pagina * $limite)+1;
//Obtenemos la información necesaria para paginar
$sql = "SELECT * FROM messages $condiciones";
$result = mysql_query($sql);
$tot_registros = mysql_num_rows($result);
$tot_paginas = ceil($tot_registros / $limite);
//Imprimimos los campos que requerimos
$sql = "SELECT * FROM messages $condiciones LIMIT $inicio,$limite ";
$result = mysql_query($sql);
while ($row = mysql_fetch_array($result)){
//Aquí haces lo que quieras con el arreglo row
}
//Mostramos las páginas limitadas
$pag_ant = $pagina - 1;
$pag_sig = $pagina + 1;
$p = $pag_ant - 1;
//Esto solo se hará si hay mas de una página
if ($tot_paginas > 1){
//Si es la primera página
if($primera==true){
echo "<b>0</b>" . " ";
for($i = 1; $i <= 2; $i++)
if($i<=($tot_paginas-1))
echo "<a href='index.php?pagina=$i'>$i</a> ";
}
else{
//Ir a la primera página
echo "<a href='index.php?pagina=0'><<</a> ";
//Imprime desde la pagina anterior a la actual, hasta la siguiente.
for ($i=$pag_ant;$i<=$pag_sig;$i++){
//En el caso que estemos en la última página, se imprimen los links a las 3 ultimas páginas
if($pagina == ($tot_paginas-1)){
echo "<a href='index.php?pagina=$p'>$p</a>";
echo "<a href='index.php?pagina=$pag_ant'>$pag_ant</a> ";
echo "<b>$pagina</b> ";
break;
}
else if ($pagina == $i)
echo "<b>$pagina</b>" . " ";
else
if($i<=($tot_paginas-1))
echo "<a href='index.php?&pagina=$i'>$i</a> ";
}
}
if($pagina<($tot_paginas-1))
//Si no estamos en la última página
//Ir a la última página
echo "<a href='index.php?pagina=".($tot_paginas-1)."'>>></a> ";
}
mysql_free_result($result);
Ojalá te sirva ;) Saludos
28/7/09
Ayuda !Por: Fernando (7er)Hola,, ley el articulo es muy util y me sirve pero la verdad no puedo lograr paginar los resulatdos,, m estoy volviendo loco!!
si me podrias dar una mano ,, t lo re agradezco el query original es este:
// Query
$rs = db_query("SELECT *
FROM smf_gallery_pic
ORDER BY ID_PICTURE DESC
LIMIT 15", __FILE__, __LINE__);
$context['imagegallery'] = array();
while ($row = mysql_fetch_assoc($rs))
$context['imagegallery'][] = array(
'filename' => $row['filename'],
'id_picture' => $row['ID_PICTURE'],
);
mysql_free_result($rs);
// Fin Query
foreach ($context['imagegallery'] as $imagegallery){
echo '<a class="highlightit" href="/imagenes/ver/'.$imagegallery[id_picture].'">
<img src="'.$imagegallery[filename].'" width="87" height="62"></img>
</a>';}
Gracias!!
29/7/09
Agregue botones Anterior y SiguientePor: facundoBuenisimo el codigo! muy facil de adaptar.
En mi caso necesitaba navegar el paginador con los botones Anterior / Siguiente en vez de los numeritos de cada pagina, a continuacion les dejo el codigo:
<a <?php if($pagina!=1){?>href="index.php?pagina=<?php echo $pagina-1;?>"<?php }?>>Anterior</a> |PAGINA <?php echo $pagina;?>/<?php echo $total_paginas;?><a <?php if($pagina!=$total_paginas){?>href="index.php?pagina=<?php echo $pagina+1;?>"<?php }?>>Siguiente</a>
Espero que les sirva!
Saludos!!
06/8/09
Muchas gracias!Por: Ale RiasBuenisimo el código, haciendo las debidas modificaciones, se adapta a todo!!
Gracias de nuevo.