Foros del Web » Programando para Internet » PHP »

Hacer 1 query con hartos números

Estas en el tema de Hacer 1 query con hartos números en el foro de PHP en Foros del Web. Bueno... Tengo una duda... Tengo una tabla, en la cual, uno de los campos tiene información de esta manera... Código: 2-45-36-547657-12-4-10 Bien, ese es un ...
  #1 (permalink)  
Antiguo 12/10/2006, 12:31
Avatar de spider_boy  
Fecha de Ingreso: diciembre-2003
Ubicación: Chile
Mensajes: 1.855
Antigüedad: 20 años, 4 meses
Puntos: 89
Hacer 1 query con hartos números

Bueno... Tengo una duda...

Tengo una tabla, en la cual, uno de los campos tiene información de esta manera...

Código:
2-45-36-547657-12-4-10
Bien, ese es un ejemplo...

Ahora lo que quiero, es que con cada uno de esos números, me saque un dato de otra tabla, que contiene registros que los identifica con cada uno de esos números...

Con PHP hago esto

Código:
$objeto = explode("-", $row['campo']);

// y aquí debería estar la consulta, para que me saque todos los datos con los números correspondientes

$query = mysql_query("SELECT * FROM tablaObjetos WHERE nroObjetos=".$objeto[xx].");
Y en la tablaObjetos tengo la siguiente información...

Código:
Numero Objeto - Nombre objeto - etc
2 - NombreObjeto2
45 - NombreObjeto45
36 - etc...
547657
12
4
10
Pero la cuestión, es que no puedo hacer 7 querys a la misma tabla para conseguir esos datos...

Hay alguna mejor manera? se me entendió?...

Nos vemos y gracias :)
  #2 (permalink)  
Antiguo 12/10/2006, 12:48
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
Bueno, sigo en lo mismo... Si queres una respuesta de un SELECT, por favor, replantea tu pregunta a SOLO el SQL y NO pogas código ya que si queres una respuesta de PHP, hay una sección para eso.

Función de la sección de Base de Datos

Al decir solo el SELECT, por favor NO pongas las variables que estas usando en el código, pon valores REALES.

Gracias
__________________
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 12/10/2006, 12:51
Avatar de spider_boy  
Fecha de Ingreso: diciembre-2003
Ubicación: Chile
Mensajes: 1.855
Antigüedad: 20 años, 4 meses
Puntos: 89
Mmmmmmmmmmm... No te entendí xD... Pero preguntaré en el foro de php... Dont worry, gracias de todos modos... Si alguien puede moverlo please xD
  #4 (permalink)  
Antiguo 12/10/2006, 13:13
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
Cluster, ahí te mando este mensaje porque creo que se acopla más a tu sección ya que pone código de PHP y variables declaras en la misma sentencia, o sea, no es SQL puro y tiende a confundir en BD.

Gracias.
__________________
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
  #5 (permalink)  
Antiguo 12/10/2006, 13:35
Avatar de Erikfrancisco  
Fecha de Ingreso: noviembre-2003
Ubicación: Estado de México
Mensajes: 503
Antigüedad: 20 años, 4 meses
Puntos: 4
Pues creo que deberías de cambiar el contenido de tu objeto, es decir quitar (-) y cambiarlos por comas (,) de esta manera:

$objeto = "2-45-36-547657-12-4-10";
$valores = str_replace ( '-', ', ', $objeto );

y tu consulta cambiarla por esta otra:

$consulta = "SELECT * FROM tablaObjetos WHERE nroObjetos IN ( $valores )";
$query = mysql_query ( $consulta );

Espero te sirva de algo o por lo menos te de una idea. Suerte
  #6 (permalink)  
Antiguo 12/10/2006, 13:45
Avatar de spider_boy  
Fecha de Ingreso: diciembre-2003
Ubicación: Chile
Mensajes: 1.855
Antigüedad: 20 años, 4 meses
Puntos: 89
Cita:
Iniciado por Erikfrancisco Ver Mensaje
Pues creo que deberías de cambiar el contenido de tu objeto, es decir quitar (-) y cambiarlos por comas (,) de esta manera:

$objeto = "2-45-36-547657-12-4-10";
$valores = str_replace ( '-', ', ', $objeto );

y tu consulta cambiarla por esta otra:

$consulta = "SELECT * FROM tablaObjetos WHERE nroObjetos IN ( $valores )";
$query = mysql_query ( $consulta );

Espero te sirva de algo o por lo menos te de una idea. Suerte
Mmmmmmmmmmm... Se acerca bastante... No lo he probado porque no alcanzo... Pero me da la sensación de que funcionará... Gracias =)
  #7 (permalink)  
Antiguo 12/10/2006, 17:52
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Para evitarte el "str_replace()" .. Por qué no guardas tus datos separados por comas? .. Así directamente con el "IN(lista de valores separados por comas)" te sobraría.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #8 (permalink)  
Antiguo 14/10/2006, 07:19
Avatar de spider_boy  
Fecha de Ingreso: diciembre-2003
Ubicación: Chile
Mensajes: 1.855
Antigüedad: 20 años, 4 meses
Puntos: 89
Jajajajja... xD buena idea... pero no me funcionó como lo estaba haciendo... así que lo hice de otra manera... gracias :)
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 12:57.