Foros del Web » Programando para Internet » PHP »

obtener fila anterior y siguiente con mysql

Estas en el tema de obtener fila anterior y siguiente con mysql en el foro de PHP en Foros del Web. hola! tengo un peqeño problema qiero seleccionar una fila en una tabla mysql y despues necesito saber cual es la siguiente y cual es la ...
  #1 (permalink)  
Antiguo 14/02/2007, 14:00
Avatar de geq
geq
 
Fecha de Ingreso: agosto-2006
Ubicación: Rosario
Mensajes: 655
Antigüedad: 17 años, 8 meses
Puntos: 22
Pregunta obtener fila anterior y siguiente con mysql

hola!

tengo un peqeño problema
qiero seleccionar una fila en una tabla mysql y despues necesito saber cual es la siguiente y cual es la anterior qe cumplen con una condicion

porqe resumidamente seria asi: una tabla con notas,cada una con un id unico y tienen un autor (puede haber muchos) y una categoria

entonces un post especifico lo obtengo por ejemplo con lo siguiente sin problema
Código:
SELECT * FROM tabla WHERE id=1503 AND author='yo' AND category='noticias'
pero no encuentro la forma de saber cual es la fila siguiente y la anterior que cumplan con la condicion
Código:
WHERE author='yo' AND category='noticias'


se me ocurrio crear una columna post_number y usar ese numero como guia, pero como hay categorias, se me hace demasiado complicado mantener los post_number correctamente, porqe las notas se pueden mover y demas, y a parte si se borrara una habria qe volver a numerar todas las qe estan debajo, asi qe no sirve...


gracias
y saludos!!
  #2 (permalink)  
Antiguo 14/02/2007, 14:04
Avatar de carlosmbrizuela  
Fecha de Ingreso: enero-2007
Ubicación: La Plata (Argentina)
Mensajes: 490
Antigüedad: 17 años, 3 meses
Puntos: 1
Re: obtener fila anterior y siguiente con mysql

podes utlizar cursores. pero no entiendo bien lo que queres hacer.

Saludos
  #3 (permalink)  
Antiguo 14/02/2007, 19:48
Avatar de geq
geq
 
Fecha de Ingreso: agosto-2006
Ubicación: Rosario
Mensajes: 655
Antigüedad: 17 años, 8 meses
Puntos: 22
Re: obtener fila anterior y siguiente con mysql

Investigare lo de los cursores.. pero mira lo qe tengo es (ejemplo):

Código:
+----+--------+----------+------------+
| id |  nota  |  author  |  category  |
+----+--------+----------+------------+
| 1  | nota1  | yo       | noticias   |
| 1  | nota2  | geq      | patata     |
| 2  | nota3  | yo       | posts      |
| 3  | nota4  | yo       | noticias   |
| 1  | nota5  | perez    | mio        |
| 3  | nota6  | geq      | patata     |
| 4  | nota7  | yo       | posts      |
| 5  | nota8  | yo       | noticias   |
+----+--------+----------+------------+
y si yo extraigo la fila de 'nota4' quiero saber cuales son las filas inmediatamente superior e inmediatamente superior que coinciden con author='yo' and caregory='noticias' (con lo cual extraeria las filas de 'nota1' y 'nota8') pero no se como hacerlo.

gracias y saludos !
  #4 (permalink)  
Antiguo 14/02/2007, 21:52
Avatar de carlosmbrizuela  
Fecha de Ingreso: enero-2007
Ubicación: La Plata (Argentina)
Mensajes: 490
Antigüedad: 17 años, 3 meses
Puntos: 1
Re: obtener fila anterior y siguiente con mysql

lo que simplemente queres hacer se logra con una consulta. Investiga un poco de sql con la directica EXIST con sonsultas anidadas.

saludos
  #5 (permalink)  
Antiguo 14/02/2007, 22:10
Avatar de geq
geq
 
Fecha de Ingreso: agosto-2006
Ubicación: Rosario
Mensajes: 655
Antigüedad: 17 años, 8 meses
Puntos: 22
Re: obtener fila anterior y siguiente con mysql

aii gracias por tu respuesta
pero la version de mysql qe tengo en mi host no lo soporta !
MySQL 4.0.25-standard
me tira error y lei en el sitio de mysql que es a partir de la version 4.1

hay otra forma de lograr esto?

saludos
y muchas gracias
  #6 (permalink)  
Antiguo 14/02/2007, 22:11
Avatar de carlosmbrizuela  
Fecha de Ingreso: enero-2007
Ubicación: La Plata (Argentina)
Mensajes: 490
Antigüedad: 17 años, 3 meses
Puntos: 1
Re: obtener fila anterior y siguiente con mysql

que cosa no soporta?

saludos
  #7 (permalink)  
Antiguo 14/02/2007, 22:17
Avatar de geq
geq
 
Fecha de Ingreso: agosto-2006
Ubicación: Rosario
Mensajes: 655
Antigüedad: 17 años, 8 meses
Puntos: 22
Re: obtener fila anterior y siguiente con mysql

la directiva EXIST
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 22:15.