Foros del Web » Programando para Internet » PHP »

Query Mysql con Php, 2 tablas

Estas en el tema de Query Mysql con Php, 2 tablas en el foro de PHP en Foros del Web. Amigos ¿Como Andan? Les cuento que tengo un problema, estoy consultando 2 tablas diferentes en un mismo query con un dato que envio por $_POST ...
  #1 (permalink)  
Antiguo 23/03/2011, 19:01
 
Fecha de Ingreso: noviembre-2010
Ubicación: Capital Federal, Buenos Aires
Mensajes: 60
Antigüedad: 13 años, 4 meses
Puntos: 0
Query Mysql con Php, 2 tablas

Amigos ¿Como Andan? Les cuento que tengo un problema, estoy consultando 2 tablas diferentes en un mismo query con un dato que envio por $_POST (numero de usuario) Si en alguna de las 2 tablas no encuentra el dato da como resultado NULL, ¿Hay posiblidad de que si en una de las 2 tablas encuentra el resultado lo emita?


Les muestro como tengo armado el query

Código PHP:
$cint do_query("SELECT sistema.id, sistema.cliente,sistema.telefonodecontactocliente,sistema.horariocontactocliente,sistema.emailcliente,sistema.observacionescliente,
comentariosinternos.xid, comentariosinternos.idpropiedad, comentariosinternos.comentariosinternos1, comentariosinternos.xcreadopor, comentariosinternos.xcreadoporfecha
FROM comentariosinternos, sistema 
WHERE sistema.id = '$_GET[id]'
AND comentariosinternos.idpropiedad LIKE '$_GET[id]'
ORDER by comentariosinternos.xid DESC"
); 
El tema es, si en comentariosinternos o en sistema no encuentra lo que vino por $_GET[id] da NULL, en caso de encontrar en los 2 lo que vino por $_GET[id] da el resultado.-


Mil gracias a todos por la ayuda!
  #2 (permalink)  
Antiguo 24/03/2011, 20:58
 
Fecha de Ingreso: febrero-2011
Ubicación: Santa Cruz de la Sierra
Mensajes: 3
Antigüedad: 13 años, 2 meses
Puntos: 1
Respuesta: Query Mysql con Php, 2 tablas

Estimado, no se si te entendí pero pienso que deberías usar en lugar de

WHERE sistema.id = '$_GET[id]'
AND comentariosinternos.idpropiedad LIKE '$_GET[id]'

esta otra forma

WHERE sistema.id = comentariosinternos.idpropiedad
AND sistema.id LIKE '$_GET[id]'

ya que te falta hacer la relacion join entre ambas tablas. Me comentas como te fue. un saludo
  #3 (permalink)  
Antiguo 24/03/2011, 22:45
 
Fecha de Ingreso: marzo-2011
Ubicación: Veracruz
Mensajes: 92
Antigüedad: 13 años, 1 mes
Puntos: 3
Respuesta: Query Mysql con Php, 2 tablas

Segun tu pregunta: ¿Hay posiblidad de que si en una de las 2 tablas encuentra el resultado lo emita?

tienes que usar OR en lugar de AND, y usa = en lugar de LIKE

Código MySQL:
Ver original
  1. WHERE sistema.id = '$_GET[id]'
  2. OR comentariosinternos.idpropiedad = '$_GET[id]'
  3. ORDER by comentariosinternos.xid DESC
  #4 (permalink)  
Antiguo 28/03/2011, 21:03
 
Fecha de Ingreso: noviembre-2010
Ubicación: Capital Federal, Buenos Aires
Mensajes: 60
Antigüedad: 13 años, 4 meses
Puntos: 0
Respuesta: Query Mysql con Php, 2 tablas

Gracias por ambas respuestas, les comento que en ninguno de los casos funciono, tengo ciertos datos que se comparten en ambas tablas y hay otros datos que no se comparten, es decir, cuando ejecuto el query si en comentariosinternos no encuentra lo que vino por $_GET[id] da null y no hace el query a sistema.-

En sistema siempre va a encontrar algo de lo que vino por $_GET[id] pero en comentariosinternos puede no encontrar el dato de lo que vino por $_GET[id], entonces si en comentariosinternos no encontro el dato no muestra lo de sistema ¿Me explico?


Gracias por la ayuda a todos!
  #5 (permalink)  
Antiguo 28/03/2011, 21:54
 
Fecha de Ingreso: marzo-2011
Ubicación: Veracruz
Mensajes: 92
Antigüedad: 13 años, 1 mes
Puntos: 3
Respuesta: Query Mysql con Php, 2 tablas

Ok, dado que tus tablas no estan relacionadas no me parece muy pertinente que intentes eso con un solo query, porque no haces dos? Es decir

Código PHP:
Ver original
  1. $id = $_GET[id];
  2.  
  3. $query1 = mysql_query("SELECT * FROM sistema WHERE xid='$id'") or die(mysql_error());
  4. $query2 = mysql_query("SELECT * FROM comentariosinternos WHERE idpropiedad='$id'") or die(mysql_error());

Espero te sirva

Etiquetas: mysql, query, tablas
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 10:52.