Foros del Web » Programando para Internet » PHP »

Paginacion

Estas en el tema de Paginacion en el foro de PHP en Foros del Web. Hola amigos tengo un problema con esto miren:: Esto es lo q tengo::: <table> <tr> <th align="center" colspan="7"> Lista de Usuarios </th> </tr> <tr> <td>id</td> ...
  #1 (permalink)  
Antiguo 25/02/2009, 09:51
(Desactivado)
 
Fecha de Ingreso: diciembre-2008
Mensajes: 421
Antigüedad: 15 años, 4 meses
Puntos: 0
Paginacion

Hola amigos tengo un problema con esto miren::

Esto es lo q tengo:::

<table>
<tr>
<th align="center" colspan="7"> Lista de Usuarios </th>
</tr>
<tr>
<td>id</td>
<td>Nick</td>
<td>Password</td>
<td>Nivel</td>
<td align="center" colspan="2">Opciones</td>
</tr>
<?php
foreach ($items_login as $item_login) {
?>
<tr>
<td><?php echo $item_login->id ?></td>
<td><?php echo $item_login->nick ?></td>
<td><?php echo $item_login->passwd ?></td>
<td><?php echo $item_login->nivel ?></td>
<td> <a href="index.php&id=<?php echo $item_login->id; ?> "> modificar </a>
</td>
<td> <a href="index.php&id=<?php echo $item_login->id; ?> "> Eliminar </a>
</td>
</tr>
<?php
}
?>
<tr>
<td colspan="7" align="left">Nro de Resultados: <?php echo count($items_login); ?></td>
</tr>
</table>

Ahora bien trato de implementar el PHPPaging de Okram y lo hice asi el basico para empezar.

<table >
<tr>
<th align="center" colspan="7"> Lista de Usuarios </th>
</tr>
<tr>
<td>id</td>
<td>Nick</td>
<td>Password</td>
<td>Nivel</td>
<td align="center" colspan="2">Opciones</td>
</tr>
<?php
// include('../../../includes/PHPPaging.lib.php');
include('modulos/permisos/PHPPaging.lib.php');
$paging = new PHPPaging;
$paging->agregarConsulta("SELECT * FROM usuario ORDER BY id ASC");
$paging->ejecutar();
while($datos = $paging->fetchResultado()) {
echo "<tr>";
echo "<td>".$datos['id']."</td>";
echo "<td>".$datos['nick']."</td>";
echo "<td>".$datos['passwd']."</td>";
echo "<td>".$datos['nivel']."</td>";
echo "</tr>";
}

?>

</table>

<?php
// Imprimimos la barra de navegación
echo "<b>Navegación</b>: ".$paging->fetchNavegacion();
?>

Mis problemas son :
include('../../../includes/PHPPaging.lib.php'); no lo encuentra no se porq me dice q esa clase no es encontrada pero de la otra manera q puse me funciona asi no se pq
Por lo demas funciona correctamente ah una duda que pasa es posible mantener esto foreach ($items_login as $item_login) en vez del while
  #2 (permalink)  
Antiguo 25/02/2009, 09:59
Avatar de emiliodeg  
Fecha de Ingreso: septiembre-2005
Ubicación: Córdoba
Mensajes: 1.830
Antigüedad: 18 años, 7 meses
Puntos: 55
Respuesta: Paginacion

siempre es mejor trabajar con rutas absolutas y no relativas
intenta registrar en una variable el root del sitio y luego le agregas el pedazo de cadena que falte para los includes
__________________
Degiovanni Emilio
developtus.com
  #3 (permalink)  
Antiguo 25/02/2009, 10:11
(Desactivado)
 
Fecha de Ingreso: diciembre-2008
Mensajes: 421
Antigüedad: 15 años, 4 meses
Puntos: 0
Respuesta: Paginacion

muchas gracias
  #4 (permalink)  
Antiguo 25/02/2009, 10:18
okram
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Paginacion

Cita:
Iniciado por majony Ver Mensaje
es posible mantener esto foreach ($items_login as $item_login) en vez del while
No. foreach() recorre y crea un ciclo usando cada uno de los elementos de un array.

Si bien es cierto que las consultas SQL devuelven un array de datos, es un array que se maneja sólo a través de su puntero interno, que de acuerdo a su posición devuelve X resultado. Para manejar este puntero se debe usar las funciones mysql_fetch_algo(). En el caso del paginador, la llamada a fetchResultado() es una llamada implícita a estas funciones.

En pocas palabras, el array devuelto por mysql_query() en una consulta SELECT, es un array "virtual". Al llegar el puntero al final del array, devuelve false, y es por eso que el ciclo while se detiene al leer todos los resultados. Con foreach no puedes establecer esa condición.

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 10:17.