Foros del Web » Programando para Internet » PHP »

Consultar 2 tablas y mostrar en lista desplegable

Estas en el tema de Consultar 2 tablas y mostrar en lista desplegable en el foro de PHP en Foros del Web. Hola, estoy tratando de consultar dos tablas para mostrar el resultado en una lista desplegable. Asi son mis tablas TABLA 1 Nombre Tabla: etiquetas_plan Campos: ...
  #1 (permalink)  
Antiguo 05/12/2012, 07:50
Avatar de kimmy  
Fecha de Ingreso: julio-2008
Mensajes: 841
Antigüedad: 15 años, 8 meses
Puntos: 15
Pregunta Consultar 2 tablas y mostrar en lista desplegable

Hola, estoy tratando de consultar dos tablas para mostrar el resultado en una lista desplegable.

Asi son mis tablas

TABLA 1
Nombre Tabla: etiquetas_plan
Campos: id_etiq, id_p, nombre_etiq

TABLA 2
Nombre Tabla: etiquetas_pos
Campos: id_etiq_pos, id_pos, nombre_etiq

estoy usando este código pero no funciona

Código PHP:
Ver original
  1. $rs = mysql_query("SELECT DISTINCT etiquetas_plan.nombre_etiq, etiquetas_pos.nombre_etiq FROM etiquetas_plan, etiquetas_pos");
  2.     while($result = mysql_fetch_array($rs))
  3.     {
  4.            echo '<option value="'.$result['nombre_etiq'].'">'.$result['nombre_etiq'].'</option>';
  5.     }


como se hace correctamente?
__________________
Caminando con el corazón partío
  #2 (permalink)  
Antiguo 05/12/2012, 08:11
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Consultar 2 tablas y mostrar en lista desplegable

Si entendí bien, te servirá un UNION:
Código MySQL:
Ver original
  1. (SELECT e.nombre_etiq FROM etiquetas_plan e)
  2. (SELECT p.nombre_etiq FROM etiquetas_pos p)
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 05/12/2012, 08:17
Avatar de kimmy  
Fecha de Ingreso: julio-2008
Mensajes: 841
Antigüedad: 15 años, 8 meses
Puntos: 15
Respuesta: Consultar 2 tablas y mostrar en lista desplegable

Hola David, lo coloqué como me indicaste pero me da este error: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in
__________________
Caminando con el corazón partío
  #4 (permalink)  
Antiguo 05/12/2012, 08:20
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Consultar 2 tablas y mostrar en lista desplegable

Usa mysql_error para saber cuál es el problema.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #5 (permalink)  
Antiguo 05/12/2012, 08:36
Avatar de kimmy  
Fecha de Ingreso: julio-2008
Mensajes: 841
Antigüedad: 15 años, 8 meses
Puntos: 15
Respuesta: Consultar 2 tablas y mostrar en lista desplegable

dice: Se ha producido el error 1065 Query was empty
__________________
Caminando con el corazón partío
  #6 (permalink)  
Antiguo 05/12/2012, 08:39
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Consultar 2 tablas y mostrar en lista desplegable

Postea el código completo en PHP, con la forma en que armas la consulta incluida.
El mensaje implica que estás mandando a ejecutar una cadena vacía, es decir, la consulta no está llegando a MySQL.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #7 (permalink)  
Antiguo 05/12/2012, 08:41
Avatar de kimmy  
Fecha de Ingreso: julio-2008
Mensajes: 841
Antigüedad: 15 años, 8 meses
Puntos: 15
Respuesta: Consultar 2 tablas y mostrar en lista desplegable

asi tengo la consulta:

Código PHP:
Ver original
  1. $rs = mysql_query("SELECT e.nombre_etiq FROM etiquetas_plan e)
  2. UNION
  3. (SELECT p.nombre_etiq FROM etiquetas_pos p");
  4.  
  5.     while($result = mysql_fetch_array($rs))
  6.     {
  7.            echo '<option value="'.$result['nombre_etiq'].'">'.$result['nombre_etiq'].'</option>';
  8.     }
__________________
Caminando con el corazón partío
  #8 (permalink)  
Antiguo 05/12/2012, 08:43
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Consultar 2 tablas y mostrar en lista desplegable

Te falta el paréntesis de apertura (SELECT...
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #9 (permalink)  
Antiguo 05/12/2012, 08:46
Avatar de kimmy  
Fecha de Ingreso: julio-2008
Mensajes: 841
Antigüedad: 15 años, 8 meses
Puntos: 15
Respuesta: Consultar 2 tablas y mostrar en lista desplegable

lo coloqué asi:

Código PHP:
Ver original
  1. $rs = mysql_query("(SELECT e.nombre_etiq FROM etiquetas_plan e)
  2. UNION
  3. (SELECT p.nombre_etiq FROM etiquetas_pos p)");

y me dice:

Se ha producido el error 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'Resource id #9' at line 1
__________________
Caminando con el corazón partío
  #10 (permalink)  
Antiguo 05/12/2012, 08:47
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Consultar 2 tablas y mostrar en lista desplegable

En ese contexto, la consulta la puedes escribir:
Código PHP:
Ver original
  1. $rs = mysql_query("SELECT e.nombre_etiq FROM etiquetas_plan e
  2. UNION
  3. SELECT p.nombre_etiq FROM etiquetas_pos p");
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #11 (permalink)  
Antiguo 05/12/2012, 08:48
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Consultar 2 tablas y mostrar en lista desplegable

Algo me dice que no nos estás mostrando todo el código, de todos modos, te falta también el paréntesis de cierre (o sin paréntesis del todo, como te indica gnzsoloyo), revisa bien, lee bien, trata de entender la consulta para luego aplicarlo a tu caso.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #12 (permalink)  
Antiguo 05/12/2012, 08:53
Avatar de kimmy  
Fecha de Ingreso: julio-2008
Mensajes: 841
Antigüedad: 15 años, 8 meses
Puntos: 15
Respuesta: Consultar 2 tablas y mostrar en lista desplegable

El código lo tengo así:

Código PHP:
Ver original
  1. <tr>
  2.     <td>Etiquetas Disponibles Planes:</td>
  3.     <td><select name="etiquetas_disp" size="1" multiple id="etiquetas_disp">
  4.  
  5. $rs = mysql_query("SELECT e.nombre_etiq FROM etiquetas_plan e
  6. UNION SELECT p.nombre_etiq FROM etiquetas_pos p");
  7. *
  8. $rs1 = mysql_query($rs,$conn);  
  9.  
  10. // Controlamos si se produce un error SQL  
  11. if (mysql_error() != ''){  
  12.     echo "Se ha producido el error ".mysql_errno()." ".mysql_error();
  13.  
  14. * * while($result = mysql_fetch_array($rs1))
  15. * * {
  16. * * * * * *echo '<option value="'.$result['nombre_etiq'].'">'.$result['nombre_etiq'].'</option>';
  17. * * }
  18.     </select>
  19.     </td>

y me arrojó esto:

Código HTML:
Ver original
  1. <td><select name="etiquetas_disp" size="1" multiple id="etiquetas_disp">
  2.     Se ha producido el error 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'Resource id #9' at line 1<option value="Vámonos a la playa">Vámonos a la playa</option><option value="Navidades en la playa">Navidades en la playa</option><option value=""></option><option value="Vamos a la Posada">Vamos a la Posada</option><option value="Visitas a rios">Visitas a rios</option><option value="Cualquiera">Cualquiera</option><option value="Ir a la Playa">Ir a la Playa</option><option value="Prueba 2">Prueba 2</option><option value="Prueba 1">Prueba 1</option><option value="vv">vv</option><option value="pp">pp</option><option value="uuii">uuii</option><option value="gfgfg">gfgfg</option><option value="trtrt">trtrt</option><option value="yyuuu">yyuuu</option><option value="fwewe">fwewe</option><option value="hhh">hhh</option><option value="gggg">gggg</option><option value="la prueba2">la prueba2</option><option value="la prueba1">la prueba1</option><option value="la prueba3">la prueba3</option><option value="Estamos probando">Estamos probando</option>  </select>
__________________
Caminando con el corazón partío
  #13 (permalink)  
Antiguo 05/12/2012, 08:57
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Consultar 2 tablas y mostrar en lista desplegable

El problema tienes en la línea 8; no tiene sentido enviar a mysql_query una variable de tipo resource, no entiendo qué pretendes hacer con esa línea.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #14 (permalink)  
Antiguo 05/12/2012, 09:02
Avatar de kimmy  
Fecha de Ingreso: julio-2008
Mensajes: 841
Antigüedad: 15 años, 8 meses
Puntos: 15
Respuesta: Consultar 2 tablas y mostrar en lista desplegable

Tienes razón, estaba sobrando y daba el problema. Ahora funciona bien. Mil Gracias David. También muchas gracias gnzsoloyo.
__________________
Caminando con el corazón partío
  #15 (permalink)  
Antiguo 05/12/2012, 09:08
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Consultar 2 tablas y mostrar en lista desplegable



__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Etiquetas: consultar, desplegable, lista, select, sql, tabla, tablas, campos
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 04:56.