Foros del Web » Programando para Internet » PHP »

conocer el prox registro en la db

Estas en el tema de conocer el prox registro en la db en el foro de PHP en Foros del Web. ok.. mi inquietud de la semana es: Tengo un archivo donde muestro la informacion de un contacto que lo saco de una base de datos ...
  #1 (permalink)  
Antiguo 09/10/2008, 20:11
 
Fecha de Ingreso: septiembre-2007
Mensajes: 139
Antigüedad: 16 años, 7 meses
Puntos: 1
conocer el prox registro en la db

ok.. mi inquietud de la semana es:
Tengo un archivo donde muestro la informacion de un contacto que lo saco de una base de datos en la que hago la busqueda por una id que la recojo del guet en una url que termina asi: "id_cliente=25" siendo 25, como todos se imaginan, el id del cliente a mostrar...

ahora quiero es colocar en el script 2 flechitas.. que si le doy a la de la izquierda me muestre el cliente anterior en la db, en teoria es el 24..
y la flechita de la derecha me muestra el cliente que le sigue en la db, en teoria es el 26..
hasta alli todo fino...
el problema radica en que NO siempre es seguro que el proximo cliente sea igual al cliente actual + 1.
me explico, es posible que el cliente que tenia el id 26 fue eliminado y tambien el del 27.. y el que este disponible sea el id 28.
como haria entoncs para que cargue esa flechita con el link dinamico con el id del PROXIMO registro en la db...??
gracias
  #2 (permalink)  
Antiguo 09/10/2008, 20:20
 
Fecha de Ingreso: mayo-2006
Mensajes: 178
Antigüedad: 18 años
Puntos: 7
Respuesta: conocer el prox registro en la db

Una solucion podria ser hacer un SELECT trayendo todos los id que tengas, cargarlos en un array y mostrarlos segun corresponda.
  #3 (permalink)  
Antiguo 09/10/2008, 20:28
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: conocer el prox registro en la db

O hacer una funcion que haga el query, sino recibe ningun resultado le aumente 1 al ID, sino encuentra le agregue 1 y asi sucesivamente.
Una funcion recursiva podria funcionar perfectamente en este caso.

La solucion de Jona77 es muy buena tambien.

Parte desde donde te sea mas facil.
  #4 (permalink)  
Antiguo 09/10/2008, 20:34
 
Fecha de Ingreso: septiembre-2007
Mensajes: 139
Antigüedad: 16 años, 7 meses
Puntos: 1
Respuesta: conocer el prox registro en la db

claro que esa son las opciones.. pero queria saber si ya estaba una funcion de ustedes que la copiaran....
pero igual gracias
  #5 (permalink)  
Antiguo 09/10/2008, 20:38
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: conocer el prox registro en la db

Tambien puedes hacer una consulta del tipo:
SELECT * FROM tabla WHERE id > $id_actual LIMIT 1
  #6 (permalink)  
Antiguo 09/10/2008, 20:41
 
Fecha de Ingreso: septiembre-2007
Mensajes: 139
Antigüedad: 16 años, 7 meses
Puntos: 1
Respuesta: conocer el prox registro en la db

esa es la respuesta ronruby..
gracias!!!
  #7 (permalink)  
Antiguo 09/10/2008, 22:44
 
Fecha de Ingreso: septiembre-2007
Mensajes: 139
Antigüedad: 16 años, 7 meses
Puntos: 1
Respuesta: conocer el prox registro en la db

escuchen... me resulta bien para el script del siguiente.... pero para el del anterior no funciona... me explico:
SELECT * FROM tabla WHERE id > $id_actual LIMIT 1
si estoy en el id 15 me lleva al siguiente
pero
SELECT * FROM tabla WHERE id < $id_actual LIMIT 1
siempre me lleva a el id 1

como haria para q me arroje el id que le antecede a, en este caso 15?
  #8 (permalink)  
Antiguo 09/10/2008, 23:10
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: conocer el prox registro en la db

Agrega un ORDER BY id DESC
  #9 (permalink)  
Antiguo 09/10/2008, 23:15
 
Fecha de Ingreso: septiembre-2007
Mensajes: 139
Antigüedad: 16 años, 7 meses
Puntos: 1
Respuesta: conocer el prox registro en la db

Compa.. Ya eso lo habia hecho.. Pero resulta que no estoy ordenando por id.. Sino por decula de identidad.. Y alli me da la patada...
  #10 (permalink)  
Antiguo 09/10/2008, 23:26
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: conocer el prox registro en la db

Puedes ordenar por mas de un campo.

http://dev.mysql.com/doc/refman/5.0/...imization.html
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:22.