Foros del Web » Programando para Internet » PHP »

Lo siento, no se ni como titular el problema

Estas en el tema de Lo siento, no se ni como titular el problema en el foro de PHP en Foros del Web. Gracias por entrar, se que el titulo no es el adecuado y eso reduce posibles ayudas, pero no hay manera de poder expresar facilmente el ...
  #1 (permalink)  
Antiguo 28/09/2006, 03:39
 
Fecha de Ingreso: enero-2002
Mensajes: 31
Antigüedad: 22 años, 10 meses
Puntos: 0
Lo siento, no se ni como titular el problema

Gracias por entrar, se que el titulo no es el adecuado y eso reduce posibles ayudas, pero no hay manera de poder expresar facilmente el problema.

Tengo en una tabla mysql varios campos con varias id, id 1, id 2, id 3, etc...

luego tengo por otro lado unas condiciones ({72} AND {21}) OR ({73} AND {21}) (este dato me lo dan, no lo creo yo, por eso viene con {})

El problema radica en que tengo que saber si las id estan dentro de la tabla respetando esa condicion.

He probado a cambiar { por id=' y } por '
asi me queda (id='72' and id='21') or...
pero no funciona, por que si hago where (id='72' and id='21') no funciona ya que una linea solo tiene una id y ninguna linea tendra esas 2 id.
Otra cosa era con where id IN (...), pero no me respeta los and or.

Otra opcion ha sido hacer un array con las id, pero no encuentro la manera de recorrer ese array respetando esas condiciones.

Todas las ideas son bienvenidas. Muchas gracias por tu tiempo.

Última edición por Enric Roca; 28/09/2006 a las 03:50
  #2 (permalink)  
Antiguo 28/09/2006, 07:40
 
Fecha de Ingreso: mayo-2004
Ubicación: Barcelona
Mensajes: 200
Antigüedad: 20 años, 6 meses
Puntos: 0
a mi parecer, la condicion deberia ser asi

Código:
(id = 72 OR id = 21) OR (id = 73 OR id = 21)
haciedolo asi, se selecciona cualquiera de esas opciones, para tal caso mejor:

Código:
(id = 72 OR id = 21 OR id = 73)
porq como tu has dicho:

Cita:
Iniciado por Enric Roca Ver Mensaje
pero no funciona, por que si hago where (id='72' and id='21') no funciona ya que una linea solo tiene una id y ninguna linea tendra esas 2 id.


Salud2
  #3 (permalink)  
Antiguo 28/09/2006, 08:05
 
Fecha de Ingreso: enero-2002
Mensajes: 31
Antigüedad: 22 años, 10 meses
Puntos: 0
Gracias por tu respuesta,

Ese es el problema, que de una tabla con una columna llamada ID, tengo que saber si varias ID estan en ella, pero no solamente con OR, sino que (A and B) OR (C AND D), si fuera siempre A OR B OR C estaria solucionado.

Tambien habia expuesto el tema del array, por si hay alguna manera de recorrerlo comparando con (A and B) OR (C AND D)
  #4 (permalink)  
Antiguo 28/09/2006, 08:10
Avatar de maralbust  
Fecha de Ingreso: febrero-2004
Ubicación: Santiago
Mensajes: 578
Antigüedad: 20 años, 9 meses
Puntos: 0
y si consultas por tooooooodos los id's, los guardas en un array y luego los comparas :s, de otra manguera no se me ocurre.

saludos
__________________
..:: NADA SE PIERDE SOLO SE TRANSFORMA ::..
  #5 (permalink)  
Antiguo 28/09/2006, 08:15
 
Fecha de Ingreso: enero-2002
Mensajes: 31
Antigüedad: 22 años, 10 meses
Puntos: 0
Si, con el array estoy probando ahora, tengo los datos pero no acabo de saber compararlos con la consulta.
  #6 (permalink)  
Antiguo 28/09/2006, 08:42
Avatar de maralbust  
Fecha de Ingreso: febrero-2004
Ubicación: Santiago
Mensajes: 578
Antigüedad: 20 años, 9 meses
Puntos: 0
no en consulta haz una consulta para sacar todos tus id's, y los vas guardardando en un array, una vez que los tengas los comparas con tu otro arreglo

saludos
__________________
..:: NADA SE PIERDE SOLO SE TRANSFORMA ::..
  #7 (permalink)  
Antiguo 28/09/2006, 08:48
 
Fecha de Ingreso: enero-2002
Mensajes: 31
Antigüedad: 22 años, 10 meses
Puntos: 0
Elegi mal la palabra "consulta"

Ya tengo los datos en un array, pero como te comento, no se como compararlos con el "arreglo" en plan...

Saber si dentro del array (que contiene A B D) estan (A AND B) OR (C AND D) OR (A AND B AND C)....
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 13:07.