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

Consulta Inner JOin

Estas en el tema de Consulta Inner JOin en el foro de Mysql en Foros del Web. Hola Gente, sigo practicando cada dia para aprender un poco mas.. y aca me encuentro con un problema Estoy realizando una busqueda con inner join ...
  #1 (permalink)  
Antiguo 11/10/2010, 16:39
 
Fecha de Ingreso: abril-2008
Mensajes: 425
Antigüedad: 16 años
Puntos: 2
Consulta Inner JOin

Hola Gente, sigo practicando cada dia para aprender un poco mas.. y aca me encuentro con un problema

Estoy realizando una busqueda con inner join desde php,

Código MySQL:
Ver original
  1. <?php
  2. $id = $_REQUEST["precio"];
  3. $conexion = mysql_connect("localhost","","");
  4. mysql_select_db ("alquileres", $conexion) OR die ("No se puede conectar");
  5.  
  6. $sql="SELECT * FROM propiedades INNER JOIN archivos ON (propiedades.idalquiler = archivos.idalquiler AND ON propiedades.precio= '$id')";
  7. $result=mysql_query($sql,$conexion);
  8.  
  9. if ($row= mysql_fetch_array($result))
  10. {
  11. echo "<TABLE BORDER='1'>";

La variable viene de otro form y anda, pero cuando tiene que listar aca me tira este error

Código otro:
Ver original
  1. Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in D:\xampp\htdocs\inmobiliaria\mostrar.php on line 47

y la linea 47 es esta ($row= mysql_fetch_array($result))

Me Olvide de aclarar-- que si le saco esta parte
Código MySQL:
Ver original
  1. AND ON propiedades.precio= '$id'
funciona.... no se que puse mal!!

Alguien me puede ayudar? seguro que es algo que no veo de taanto estar encima!!
GRACIAS de antemano

Última edición por analoyra; 11/10/2010 a las 16:48
  #2 (permalink)  
Antiguo 11/10/2010, 16:57
Avatar de Nano_  
Fecha de Ingreso: febrero-2006
Ubicación: Bogotá, Colombia
Mensajes: 1.866
Antigüedad: 18 años, 2 meses
Puntos: 96
Respuesta: Consulta Inner JOin

Saludos.

El error lo tienes en esta linea
Código PHP:

$sql
="SELECT * FROM propiedades INNER JOIN archivos ON (propiedades.idalquiler = archivos.idalquiler AND ON propiedades.precio= '$id')"
No puedes mezclar AND ON

ON Se utiliza para indicar la relacion entre las tablas
AND Son codiciones adicionales a una sentencia

Código PHP:

$sql
="SELECT * FROM propiedades INNER JOIN archivos ON propiedades.idalquiler = archivos.idalquiler AND  propiedades.precio= '$id'"
__________________
:.:Nano.:: @nano_hard - Retornando al foro
  #3 (permalink)  
Antiguo 11/10/2010, 17:02
 
Fecha de Ingreso: abril-2008
Mensajes: 425
Antigüedad: 16 años
Puntos: 2
Respuesta: Consulta Inner JOin

Gracias por responder... ahora no me tira error.... pero tampoco me muestra el resultado de la consulta......
si le saco del and para la derecha anda.. pero no me sirve

que otra cosa puede ser?
  #4 (permalink)  
Antiguo 11/10/2010, 17:05
Avatar de Nano_  
Fecha de Ingreso: febrero-2006
Ubicación: Bogotá, Colombia
Mensajes: 1.866
Antigüedad: 18 años, 2 meses
Puntos: 96
Respuesta: Consulta Inner JOin

Saludos

Estas seguro que la variable $id esta llevando el valor que estas enviando??..

Imprime la consulta y posteala aunque estoy casi seguro que no te esta retornando valores es por que no se esta enviando la variable correctamente, de ser asi en el foro de php te podran colaborar mejor!.
__________________
:.:Nano.:: @nano_hard - Retornando al foro
  #5 (permalink)  
Antiguo 11/10/2010, 17:11
 
Fecha de Ingreso: abril-2008
Mensajes: 425
Antigüedad: 16 años
Puntos: 2
Respuesta: Consulta Inner JOin

Gracias por la rapidez!!
Si uso una consulta simple como esta
Código MySQL:
Ver original
  1. $sql="SELECT * FROM propiedades where precio like '$id'";

Me lista perfecto, el problema es cuando armo la consulta de arriba con el iiner join

... disculpame pero no se a que consulta te referis que suba.... :(
  #6 (permalink)  
Antiguo 11/10/2010, 17:57
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: Consulta Inner JOin

Código MySQL:
Ver original
  1. FROM propiedades P INNER JOIN archivos A ON P.idalquiler = A.idalquiler
  2. WHERE P.precio= '$id'

Aquí la única duda es si lo que pones en $id es un precio o es un ID de propiedad.
Si es un precio, hay que ver si el tipo de dato de la columna PRECIO es el mismo del formato de valor que ingresas en $id.
Y si $id es un ID, ¿por qué lo estás comparando con un precio?
__________________
¿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 11/10/2010, 18:36
 
Fecha de Ingreso: abril-2008
Mensajes: 425
Antigüedad: 16 años
Puntos: 2
Respuesta: Consulta Inner JOin

hola, puse id por poner algo, es un integer precio... y si.... me trae bien todo con un select comun como el de arriba
  #8 (permalink)  
Antiguo 11/10/2010, 18:41
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: Consulta Inner JOin

Cita:
Iniciado por analoyra Ver Mensaje
hola, puse id por poner algo, es un integer precio... y si.... me trae bien todo con un select comun como el de arriba
Si lo que quieres se obtiene con un SELECT sobre propiedades, ¿por qué necesitabas un INNER JOIN con ARCHIVOS?
Además... ¿un precio como INTEGER? Mmmm eso no tiene mucho sentido. Los precios deben expresarse siempre en flotantes no en integers.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #9 (permalink)  
Antiguo 11/10/2010, 18:50
 
Fecha de Ingreso: abril-2008
Mensajes: 425
Antigüedad: 16 años
Puntos: 2
Respuesta: Consulta Inner JOin

si si... es integer porque es precio de alquiler, entonces considere que no es necesario comas en estos casos.

Empiezo otra vez...

con ese id traigo a otro formulario una consulta de una seleccion... .es decir, tengo una lista de casas en alquiler y selecciono una... en otro form me muestra los detalles.... pero el problema esta en que tengo otra tabla con n cantidad de imagenes.... de esa propiedad, entonces deberia usar el inner join para traer las imagenes
Espero haber sido clara... y disculpas, creo tendria que haber empezado por ah!!!
Gracias
  #10 (permalink)  
Antiguo 11/10/2010, 19:09
 
Fecha de Ingreso: abril-2008
Mensajes: 425
Antigüedad: 16 años
Puntos: 2
Respuesta: Consulta Inner JOin

No se que toque!!!
pero solo lo puse asi
Código MySql:
Ver original
  1. $sql=" SELECT * FROM propiedades  INNER JOIN archivos  ON propiedades.idprop = archivos.idalquiler WHERE propiedades.precio like '$id'" ;

Lo que si se es que reinice el Xampp.... y anduvo.. no se cual fue, pero fue!!

Gracias por la ayuda... pronto volvere reloaded con las preguntas...jajaj

Etiquetas: join
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 19:54.