PHP - DUDA facil de contestar

 
Vista:

DUDA facil de contestar

Publicado por Mauricio (12 intervenciones) el 18/11/2005 16:24:15
Hola, mi problema creo que tiene un solucion sencilla, solo q ya le intentado de varias formas y pues ya me desespero.....

Lo unico q necesito hacer es que de una consulta de MySQL me visualize solo registros de 10 en 10 o de n en n y q al termino de esos n registros me ponga numeros creados con el numero de los registros que se tienen y el vinculo a la pagina que sigue con los siguientes 10 registros....
Es para un foro.. espero q sepan q es lo q quiero hacer...y me puedan ayudar.... saludos y de antemano GRACIAS
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:DUDA facil de contestar

Publicado por Eduard Pascual (7 intervenciones) el 19/11/2005 13:17:29
En primer lugar, quiero comentar que si lo que quieres es un foro escrito en php, deberías echar un ojo a PHPBB. Es un foro 'prefabricado', muy personalizable. Si tu servidor es local (es decir, los visitantes se conectan a TU máquina para ver la web), puedes bajar e instalar el PHPBB gratuitamente (es Free software, o sea gratuito y de código abierto); si el servidor es remoto, deberías consultar a la empresa que te provee el 'hosting' para saber si dispones de PHPBB y cómo activarlo: la mayoria de servicios que ofrecen PHP también disponen de PHPBB, pues no tienen coste alguno y es un incentivo para obtener clientes.
Tanto si no tienes acceso al PHPBB como si no quieres usarlo, existen muchas maneras de conseguir el efecto que pretendes. Para los ejemplos siguientes, voy a suponer que en tu base de datos del foro tienes un campo autonumérico de índice en cada tabla... si no tienes dicho campo, sería muy conveniente agregarlo.
Dicho esto, ahi va el código (es muy genérico, así que tendrás que adaptarlo):
$query = sprintf("SELECT campos FROM tabla WHERE `id`>='%s' AND `id`<'%s'", $start, $start + $n);
después ejecutas la consulta y te devolverá exactamente n registros, empezando desde el numero start. Para el enlace a las páginas siguientes, anterior, o 'x', puedes usar códigos del tipo:
<input type="text", name="pag", id="pag" /> te crearía un cuadro de texto para escoger nº de página
luego:
if(!isset($start)) {
$start = $pag * $n + 1;
}
Para que el código anterior funcione, el cuadro de texto ha de estar en un formulario que apunte al mismo archivo (action="archivo.php"), y ha de haber un boton tipo submit para que el usuario pueda enviar la petición a tu servidor.
para la página siguiente, usa:
<a href="<?php echo 'archivo.php?start=' . $start + $n . '&n=' . $n;?>">Pagina siguiente</a>
De la misma forma, para la anterior, usa:
<?php
function maximo($a, $b) {
if ($a>=$b) {
return $a;
} else {
return $b;
}
}
?>
<a href="<?php echo 'archivo.php?start=' . maximo($start - $n, 1) . '&n=' . $n;?>">Pagina anterior</a>
La funcion maximo la uso aqui para evitar que vayas a páginas negativas: por ejemplo, si en la página 1 clickas Página anterior, volverás a estar en la pagina 1. Otra opción (más lógica) es usar un if para evitar que el enlace 'anterior' aparezca en la primera página y, de paso, 'siguiente' no salga en la última.
Si necesitas más ayuda, no dudes en ponerte en contacto conmigo, a través de este mismo foro o mediante mi correo electrónico
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:DUDA facil de contestar

Publicado por Mauricio (12 intervenciones) el 19/11/2005 17:40:37
Si gracias me funciono de maravilla , pero como a mi me gusta aprender y ademas saber lo q estoy haciendo tengo varias dudas, como por ejemplo
en la sentencia sql ¿por que usas sprintf, %s?
GRACIAS POR RESOLVER Mi PROBLEMA
SALUDOS
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar