buenas amigos. tengo una duda, es como hago un pagination.
en mi web tengo mas de mil archivos en la base de datos la idea es que salga asi
prev,1, 2, 3,4,5,next
la idea es que mientras valla por el dos ya no aparesca el uno ni el 5 sino que valla cambiando solo.
gracias de antemano.
bueno, acabo de hacerte un paginador medio feo pero paginador en fin, tienes que descargar estos >archivos de aquí< (https://mega.co.nz/#!dd913bgR!QlkioQjcyZPl-tt_IyhyPmNxg1o3oJnF0vl4yXKSIJg)
y luego poner este código donde quieras generar el paginador
include('InterfacePaginator.php');
include('ComponentPaginator');
// aquí haces una consulta SQL
$cantidad = 800;
$paginator = new ComponentPaginator($cantidad, $_GET['actual']);
$paginado = $paginator->get_paginado();
for($i = 0; $i<count($paginado); $i++)
{
if($paginado[$i]['id']>0)
{
if($paginado[$i]['important']==false)
echo '<a href="/pagina.php?actual='.$paginado[$i]['id'].'">'.$paginado[$i]['text'].'</a> ';
else
echo '<a href="/pagina.php?actual='.$paginado[$i]['id'].'" style="color:red">'.$paginado[$i]['text'].'</a> ';
}
else
echo $paginado[$i]['text'].' ';
}
donde dice aquí haces una consulta SQL tienes que hacer un "SELECT count(campo) FROM tabla"
y luego poner $cantidad = $valor['count(campo)'];
la idea es que pongas en la variable $cantidad la cantidad de registros que tienes, está diseñado para que muestres 15 registros de la tabla por página.
el código que genera queda así:
(http://puu.sh/5x0Zw.jpg)
esa fue la prueba que hice y anda como tiene que andar.-
Saludos!
amigo me dan estos errores:
CitarWarning: include(ComponentPaginator) [function.include]: failed to open stream: No such file or directory in C:\AppServ\www\practica\index.php on line 211
Warning: include() [function.include]: Failed opening 'ComponentPaginator' for inclusion (include_path='.;C:\php5\pear') in C:\AppServ\www\practica\index.php on line 211
Fatal error: Class 'ComponentPaginator' not found in C:\AppServ\www\practica\index.php on line 220
y el codigo php que puse fue este:
Citar<?php
include('InterfacePaginator.php');
include('ComponentPaginator');
// aquí haces una consulta SQL
$connect=mysql_connect("localhost","root","1851172");
mysql_select_db("pelisbot");
$query=mysql_query("SELECT count(40) FROM pelisbot");
while($fila=mysql_fetch_array($query)){
}
$cantidad = $valor['count(40)'];
$paginator = new ComponentPaginator($cantidad, $_GET['actual']);
$paginado = $paginator->get_paginado();
for($i = 0; $i<count($paginado); $i++){
if($paginado[$i]['id']>0){
if($paginado[$i]['important']==false)
echo '<a href="/pagina.php?actual='.$paginado[$i]['id'].'">'.$paginado[$i]['text'].'</a> ';
else
echo '<a href="/pagina.php?actual='.$paginado[$i]['id'].'" style="color:red">'.$paginado[$i]['text'].'</a> ';}
else
echo $paginado[$i]['text'].' ';}
?>
que tengo mal?
No tienes permitido ver enlaces.
Registrate o Entra a tu cuenta
amigo me dan estos errores:
CitarWarning: include(ComponentPaginator) [function.include]: failed to open stream: No such file or directory in C:\AppServ\www\practica\index.php on line 211
Warning: include() [function.include]: Failed opening 'ComponentPaginator' for inclusion (include_path='.;C:\php5\pear') in C:\AppServ\www\practica\index.php on line 211
Fatal error: Class 'ComponentPaginator' not found in C:\AppServ\www\practica\index.php on line 220
y el codigo php que puse fue este:
Citar<?php
include('InterfacePaginator.php');
include('ComponentPaginator');
// aquí haces una consulta SQL
$connect=mysql_connect("localhost","root","1851172");
mysql_select_db("pelisbot");
$query=mysql_query("SELECT count(40) FROM pelisbot");
while($fila=mysql_fetch_array($query)){
}
$cantidad = $valor['count(40)'];
$paginator = new ComponentPaginator($cantidad, $_GET['actual']);
$paginado = $paginator->get_paginado();
for($i = 0; $i<count($paginado); $i++){
if($paginado[$i]['id']>0){
if($paginado[$i]['important']==false)
echo '<a href="/pagina.php?actual='.$paginado[$i]['id'].'">'.$paginado[$i]['text'].'</a> ';
else
echo '<a href="/pagina.php?actual='.$paginado[$i]['id'].'" style="color:red">'.$paginado[$i]['text'].'</a> ';}
else
echo $paginado[$i]['text'].' ';}
?>
que tengo mal?
primero la ubicación del archivo ComponentPaginador está mal, debes cambiarla o poner los archivos en el mismo directorio que tienes este código php, segundo el código no necesita el while:
Citar<?php
include('InterfacePaginator.php');
include('ComponentPaginator');
// aquí haces una consulta SQL
$connect=mysql_connect("localhost","root","1851172");
mysql_select_db("pelisbot");
$query=mysql_query("SELECT count(CAMPO) FROM pelisbot");
$fila=mysql_fetch_array($query)
$cantidad = $fila['count(CAMPO)'];
$paginator = new ComponentPaginator($cantidad, $_GET['actual']);
$paginado = $paginator->get_paginado();
for($i = 0; $i<count($paginado); $i++){
if($paginado[$i]['id']>0){
if($paginado[$i]['important']==false)
echo '<a href="/pagina.php?actual='.$paginado[$i]['id'].'">'.$paginado[$i]['text'].'</a> ';
else
echo '<a href="/pagina.php?actual='.$paginado[$i]['id'].'" style="color:red">'.$paginado[$i]['text'].'</a> ';}
else
echo $paginado[$i]['text'].' ';}
?>
si revisas cambié 40 por campo y $value por $fila.
saludos!
me da el siguiente error ahora:
CitarParse error: syntax error, unexpected T_VARIABLE in C:\AppServ\www\practica\index.php on line 124
y en el dream weaver me señala esta linea:
Citar$cantidad = $fila['count(CAMPO)'];
que haria hay?
No tienes permitido ver enlaces.
Registrate o Entra a tu cuenta
me da el siguiente error ahora:
CitarParse error: syntax error, unexpected T_VARIABLE in C:\AppServ\www\practica\index.php on line 124
y en el dream weaver me señala esta linea:
Citar$cantidad = $fila['count(CAMPO)'];
que haria hay?
me comí un punto y coma en la linea de arriba a esa
y tenes que cambiar CAMPO por un campo de la tabla, como el id o algo así.
saludos!
hmm sigue el error esta ves es este:
Citar
Parse error: syntax error, unexpected T_USE, expecting T_FUNCTION in C:\AppServ\www\practica\libreria\ComponentPaginator.php on line 23
hice lo siguiente:
agregue un id con auto_increment a la base de datos. de manera que se sume y todo eso.
Y en el codigo php hice lo siguiente:
Citar
<?php
include('libreria/InterfacePaginator.php');
include('libreria/ComponentPaginator.php');
// aquí haces una consulta SQL
$connect=mysql_connect("localhost","root","1851172");
mysql_select_db("pelisbot");
$query=mysql_query("SELECT count(id) FROM pelisbot");
$fila=mysql_fetch_array($query);
$cantidad = $fila['count(id)'];
$paginator = new ComponentPaginator($cantidad, $_GET['actual']);
$paginado = $paginator->get_paginado();
for($i = 0; $i<count($paginado); $i++){
if($paginado[$i]['id']>0){
if($paginado[$i]['important']==false)
echo '<a href="/pagina.php?actual='.$paginado[$i]['id'].'">'.$paginado[$i]['text'].'</a> ';
else
echo '<a href="/pagina.php?actual='.$paginado[$i]['id'].'" style="color:red">'.$paginado[$i]['text'].'</a> ';}
else
echo $paginado[$i]['text'].' ';}
?>