Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

buscar articulo anterior

Estas en el tema de buscar articulo anterior en el foro de Mysql en Foros del Web. muy buenas amigos estoy intentando hacer una consulta en la ke ademas de mostrarse el articulo seleccionado pues se muestre el anterior y posterior de ...
  #1 (permalink)  
Antiguo 07/02/2014, 08:01
 
Fecha de Ingreso: septiembre-2010
Ubicación: Reino Independiente Suizo_Andaluz (RISA)
Mensajes: 221
Antigüedad: 13 años, 7 meses
Puntos: 24
buscar articulo anterior

muy buenas amigos estoy intentando hacer una consulta en la ke ademas de mostrarse el articulo seleccionado pues se muestre el anterior y posterior de la misma categoria ('que'), basandose en los campos 'que' y la 'id' del producto y bueno soy nuevo en las bases de datos
este es el script ke uso

Código SQL:
Ver original
  1. SELECT COUNT(id) FROM puntos WHERE id ='$id'
  2.  
  3. SELECT * FROM puntos WHERE  que='$tipo' AND id>='$id' ORDER BY id ASC LIMIT 3

Cita:
Editado: Código de programación no permitido en foros de Bases de Datos.
Por favor, leer las reglas del foro.
bueno basicamente y con lo poco ke entiendo de esto pues al obtener el id del producto pues le resto uno y creo la variable $id para ke me compruebe si la id anterior existe y si no existe pues se repite en bucle hasta ke encuentra una y entonces hace la consulta de la id seleccionada, la anterior y la posterior.
pero tengo problemas cuando por ejemplo el id anterior existe pero es de otra categoria (que o $tipo),
entonces creo ke el problema vendra de la consulta en la ke se comprueba cuaal es la id anterior, habria ke meterle tambien ahi la condicion de ke buske cual es la 'id' anterior dentro del mismo campo 'que'
seguramente sera una tonteria pero por mas ke busco y pruebo no lo consigo
venga aver si alguien me puede orientar un poco, gracias de antemano
__________________
kolectivo grafico deNA
www.kgdena.com

Última edición por gnzsoloyo; 07/02/2014 a las 08:31
  #2 (permalink)  
Antiguo 07/02/2014, 10:08
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 14 años, 7 meses
Puntos: 214
Respuesta: buscar articulo anterior

<saludo>
Con el query que tienes, siempre obtendrás los 2 post recientes posteriores al que buscas inicialmente pues en el query siempre dices que sea mayor al id

Ahora, lo que buscas lo puedes solucionar por ej con el uso de UNION

Ej:

Con union

Código MySQL:
Ver original
  1. (SELECT * FROM puntos WHERE que = '$tipo' AND id < '$id' ORDER BY id DESC LIMIT 1)
  2. UNION (SELECT * FROM puntos WHERE que = '$tipo' AND id = '$id')
  3. UNION (SELECT * FROM puntos WHERE que = '$tipo' AND id > '$id' ORDER BY id ASC LIMIT 1);


Revisa y nos cuentas
</saludo>
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, si nadie puede detenerte, te conviertes en algo muy diferente."
Visita piggypon.com
  #3 (permalink)  
Antiguo 07/02/2014, 10:24
 
Fecha de Ingreso: septiembre-2010
Ubicación: Reino Independiente Suizo_Andaluz (RISA)
Mensajes: 221
Antigüedad: 13 años, 7 meses
Puntos: 24
Respuesta: buscar articulo anterior

gracias por tu respuesta
la he probado pero no me da resultados
Código MySQL:
Ver original
  1. SELECT * FROM puntos WHERE que='$tipo' AND id<'$id' ORDER BY id DESC LIMIT 1)
  2. (SELECT * FROM puntos WHERE que='$tipo' AND id='$id')
  3. UNION (SELECT * FROM puntos WHERE que='$tipo' AND id>'$id' ORDER BY id ASC LIMIT 1
Cita:
Editado: Código de programación no permitido en foros de Bases de Datos.
Por favor, leer las reglas del foro.
ves algun fallo en el codigo?
utilizo las variables $bar para luego mostrar los resultados
perdona pero es ke soy bastante novato en esto
__________________
kolectivo grafico deNA
www.kgdena.com
  #4 (permalink)  
Antiguo 07/02/2014, 10:35
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 14 años, 7 meses
Puntos: 214
Respuesta: buscar articulo anterior

<saludo>
Ehm, imagino que hablas de $bar pero pues por estar
en el foro de mysql no se visualiza.

Yo probé el query en mysql y funciona correctamente.
Por ende, tomalo y pruebalo en tu bd para verificar
el correcto funcionamiento inicialmente.

Si visualizas correctamente la info desde mysql,
entonces ya implementar el query en php debe
dar el mismo resultado.

Si aún así persiste la novedad en la página,
solicita que trasladen este post a php.

</saludo>
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, si nadie puede detenerte, te conviertes en algo muy diferente."
Visita piggypon.com
  #5 (permalink)  
Antiguo 07/02/2014, 10:38
 
Fecha de Ingreso: septiembre-2010
Ubicación: Reino Independiente Suizo_Andaluz (RISA)
Mensajes: 221
Antigüedad: 13 años, 7 meses
Puntos: 24
Respuesta: buscar articulo anterior

creo ke al final lo resolvi gracias a tu codigo, era problema de una variable, en vez de $id era $var ke es la ke recibo originalmente, $id la cree en el antiguo codigo y ya no sirve

muchas gracias
__________________
kolectivo grafico deNA
www.kgdena.com

Etiquetas: campo, php, select, sql
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 15:57.