Foros del Web » Programando para Internet » PHP »

Frames y paginacion

Estas en el tema de Frames y paginacion en el foro de PHP en Foros del Web. Hola amigos, tengo un problema, estoy realizando un buscador para mi pagina (ya lo habia hecho otras veces) pero esta vez lo estoy haciendo con ...
  #1 (permalink)  
Antiguo 25/09/2003, 05:11
 
Fecha de Ingreso: junio-2003
Mensajes: 744
Antigüedad: 14 años, 5 meses
Puntos: 0
Frames y paginacion

Hola amigos, tengo un problema, estoy realizando un buscador para mi pagina (ya lo habia hecho otras veces) pero esta vez lo estoy haciendo con frames, arriba el que tiene los comandos para buscar y el de abajo donde se muestran los resultados. Mi problema es que no consigo mostrar las siguientes paginas de resultados (si tiene la consulta más de una pagina de resultados).
No pasa bien la variable de la pagina... que hago mal? Si siempre lo he hecho igual y me funcionaba, puede dar problemas por los frames?

echo "<p><p>";
if ($pages < 1){
echo "";
}else{

# creando los enlaces de paginación
if ($pg <> 0)
{
$url = $pg - 1;
echo "<a href='".$_SERVER[PHP_SELF]."?pg=".$url."'><font face='Arial' size='2' color='#FF0000'><strong>&laquo;Anterior</strong></font></a>&nbsp;";
}
else {
echo "";
}
for ($i = 0; $i<($pages + 1); $i++) {
if ($i == $pg) {
echo "<font face='Tahoma' size=2 color='#003366'><strong>".($i+1)."&nbsp;</strong></font>";
}
else {
echo "<a href='".$_SERVER[PHP_SELF]."?pg=".$i."'><font face='Arial' size='2' color='#FF0000'><strong>".($i+1)."</strong></font></a>&nbsp;";
}
}
if ($pg < $pages) {
$url = $pg + 1;
echo "<a href='".$_SERVER[PHP_SELF]."?pg=".$url."'><font face='Arial' size='2' color='#FF0000'><strong>Siguiente&raquo;</strong></font></a>";
}
else {
echo " ";
}
echo "</div>";

}
}
  #2 (permalink)  
Antiguo 25/09/2003, 05:37
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
Hola,

¿Donde estas poniendo este codigo? ¿En el frame superior o en el que esta el listado de resultados? ¿Los links se ven bien y tienen el valor correcto? Es que ese trozo de codigo lo veo correcto. Y los frames pueden dar problemas si se usan mal.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #3 (permalink)  
Antiguo 25/09/2003, 09:53
 
Fecha de Ingreso: junio-2003
Mensajes: 744
Antigüedad: 14 años, 5 meses
Puntos: 0
En el inferior, en el de arriba solo tengo el formulario...

Que puede ser que falle?

Gracias por todo!
  #4 (permalink)  
Antiguo 25/09/2003, 09:56
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
Esto, ahora que me fijo, dices que arriba tienes los "comandos para buscar". ¿Es que le pasas un termino de busqueda para realizar la consulta? Es que si es asi, te falta propagar (pasar) por el link el valor del termino de busqueda.

De todas formas, fijate en el codigo HTML generado y la URL de los links de paginacion, a ver si se forman bien.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #5 (permalink)  
Antiguo 25/09/2003, 10:07
 
Fecha de Ingreso: junio-2003
Mensajes: 744
Antigüedad: 14 años, 5 meses
Puntos: 0
Si es que lo que pasa es que sale la consulta bien hecha por ejemplo pongo Ca para buscar y me encuentra resultados y me los visualiza pero cuando le das a la segunda pagina vuelve a mostrar el listado completo (sin hacer caso del numero de pagina..., como si no manda bien la variable de pagina) Es muy raro, quieres verlo? www.ibizadiscosm15.com/catalogomap/catalogo.php (y le das a buscar)

Muchas gracias de verdad llevo toda la mañana dandole vueltas.

P.d: Da un par de errores de ejecucion... (que tengo arreglarlo ahora) pero dile no depurar un par de veces y lo podrás ver.
  #6 (permalink)  
Antiguo 25/09/2003, 15:14
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
Veo dos cosas:

1.- Que busque lo que busque siempre me da como resultados 136 resultados.

2.- Que no propagas por los links de paginacion los parametros de busqueda.

El primer problema debe estar en la consulta que haces para obtener el numero total de registros, la del SELECT COUNT(*), que se te ha debido olvidar poner el WHERE con los parametros de busqueda.

Y el segundo es añadir tantos parametros como sean necesarios en las URLs generadas para la paginacion con esos valores.

Si los parametros los has llamado 'tipo' y 'termino', y los valores estan en las variables $tipo y $termino, te quedaria tal que asi:
Código PHP:
echo "<p><p>";
if (
$pages 1){
echo 
"";
}else{

# creando los enlaces de paginación
if ($pg <> 0)
{
$url $pg 1;
echo 
"<a href='".$_SERVER[PHP_SELF]."?pg=".$url."&tipo=".$tipo."&termino=".$termino."'><font face='Arial' size='2' color='#FF0000'><strong>«Anterior</strong></font></a> ";
}
else {
echo 
"";
}
for (
$i 0$i<($pages 1); $i++) {
if (
$i == $pg) {
echo 
"<font face='Tahoma' size=2 color='#003366'><strong>".($i+1)." </strong></font>";
}
else {
echo 
"<a href='".$_SERVER[PHP_SELF]."?pg=".$i."&tipo=".$tipo."&termino=".$termino."'><font face='Arial' size='2' color='#FF0000'><strong>".($i+1)."</strong></font></a> ";
}
}
if (
$pg $pages) {
$url $pg 1;
echo 
"<a href='".$_SERVER[PHP_SELF]."?pg=".$url."&tipo=".$tipo."&termino=".$termino."'><font face='Arial' size='2' color='#FF0000'><strong>Siguiente»</strong></font></a>";
}
else {
echo 
" ";
}
echo 
"</div>";

}

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
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 00:12.