Foros del Web » Programando para Internet » PHP »

<< Anterior / Siguiente >>

Estas en el tema de << Anterior / Siguiente >> en el foro de PHP en Foros del Web. Buenas, Hace un par de tiempo habia posteado esta duda, pero anduve buscando por todo el foro y no encuentro mi post, no se a ...
  #1 (permalink)  
Antiguo 27/11/2007, 17:07
Avatar de carmagedon  
Fecha de Ingreso: junio-2005
Ubicación: Argentina
Mensajes: 794
Antigüedad: 18 años, 10 meses
Puntos: 23
<< Anterior / Siguiente >>

Buenas,
Hace un par de tiempo habia posteado esta duda, pero anduve buscando por todo el foro y no encuentro mi post, no se a donde habrá parado.
Pero en fin,. queria que me pasaran de nuevo el script que hace para que la base de datos al hacer clic en el hipervinculo SIGUIENTE vaya al registro siguiente que se encuentre en la base de datos, y lo mismo para ANTERIOR, pero para que regrese al registro anterior.

Nada más,
Gracias y Saludos.
  #2 (permalink)  
Antiguo 27/11/2007, 17:55
Avatar de BrujoNic
Super Moderador
 
Fecha de Ingreso: noviembre-2001
Ubicación: Costa Rica/Nicaragua
Mensajes: 16.935
Antigüedad: 22 años, 5 meses
Puntos: 655
Re: << Anterior / Siguiente >>

Tu pregunta es más que todo de programación y supongo que usas PHP.

Trasladado de BD a PHP.
Función de la sección de Base de Datos
__________________
La tecnología está para ayudarnos. No comprendo el porqué con esa ayuda, la gente escribe TAN MAL.
NO PERDAMOS NUESTRO LINDO IDIOMA ESPAÑOL
  #3 (permalink)  
Antiguo 27/11/2007, 18:39
 
Fecha de Ingreso: mayo-2006
Ubicación: Madrid
Mensajes: 153
Antigüedad: 17 años, 11 meses
Puntos: 3
Información Re: << Anterior / Siguiente >>

Pasándole por GET el ID a la página: si el id actual es 8, el enlace anterior sería:
echo' <a href="articulo.php?id='.$idactual-1.'">anterior</a>';
y el siguiente
echo' <a href="articulo.php?id='.$idactual+1.'">siguiente</a>';

En caso de que, por ejemplo, no exista el id 8 no te va a valer este código.

En ese caso se me ocurre lo siguiente (lamento no poder ponerte código pero es bastante tarde):
-Hacemos un query para obtener sólo todos los IDs y lo guardamos en $v1
-Con un bucle, recorremos todo el contenido de $v1 y generamos una matriz

Código PHP:
$contador=0;
while(
$ids mysqli_fetch_assoc($v1)){
$id[$contador]=$ids['id'];
contador++;
    } 
-Buscamos que posición ocupa en el array el id del artículo que estamos viendo(supongamos que la variable que lo contiene es $_GET[id])
Código PHP:
$actual=array_search($_GET[id],$id); 
-Así pues, en $actual tenemos la posición que ocupa en el array el artículo actual, por lo que si queremos saber cual es el id del siguiente artículo disponble en la DB no tenemos más que mirar la variable $id[$actual+1]. Lo mismo para ver el anterior disponible ($id[$actual-1]).

-Hay que comprobar también que $actual no sea el primer valor o el último, porque si no podrían pasar cosas raras

Lo mismo hay alguna forma más fácil de hacerlo, pero con mis conocimientos
yo lo tendría que hacer así.

Saludos!
  #4 (permalink)  
Antiguo 27/11/2007, 20:39
Avatar de eddwinpaz  
Fecha de Ingreso: noviembre-2007
Ubicación: Merida , Venezuela
Mensajes: 1.066
Antigüedad: 16 años, 5 meses
Puntos: 25
Re: << Anterior / Siguiente >>

Bueno yo iba a postar mi Clase pero bueno hace días encontré una buenísima aquí esta el link para que aprendas como usarla :D saludos suerte y exitos

http://php.myokram.info/phppaging/
  #5 (permalink)  
Antiguo 28/11/2007, 08:20
Avatar de carmagedon  
Fecha de Ingreso: junio-2005
Ubicación: Argentina
Mensajes: 794
Antigüedad: 18 años, 10 meses
Puntos: 23
Re: << Anterior / Siguiente >>

Jaja, yo lo postié en base de datos, porque recuerdo que lo había posteado en php y me lo movieron para base de datos.
Claro, mi unico problema estaba en que el registro por ahi no son todos seguidos, me refiero a esto, id 1, id 5, id 6, id 10 y si usaba el script id+1 o id -1 no me iba a funcionar;
Probare lo que tu me dices, y la clase.
Una cosa, esa clase que esta en myokram es para hacer una paginacion y lo que yo deseo, es que vaya al REGISTRO siguiente o al REGISTRO anterior, y que no me tire un listado de los registros; porque es un fotolog lo que estoy haciendo, y tengo que hacer eso para ver la foto anterior y la foto siguiente.

Muchas Gracias por sus respuesta.
Saludos.
  #6 (permalink)  
Antiguo 28/11/2007, 08:41
Avatar de rogertm
Mod->Cuba
 
Fecha de Ingreso: julio-2005
Ubicación: /home/Cuba/Habana/rogertm/
Mensajes: 2.922
Antigüedad: 18 años, 8 meses
Puntos: 638
Re: << Anterior / Siguiente >>

hola, aqui esta solucionado:

http://www.forosdelweb.com/f18/mostr...ciones-526302/

saludos y suerte
__________________
Friki y Blogger por Cuenta Propia:213
Twenty'em: Theming is Prose
  #7 (permalink)  
Antiguo 29/11/2007, 09:34
Avatar de carmagedon  
Fecha de Ingreso: junio-2005
Ubicación: Argentina
Mensajes: 794
Antigüedad: 18 años, 10 meses
Puntos: 23
Re: << Anterior / Siguiente >>

Voy a ver ese topic.
Gracias!

Saludos.
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 01:01.