Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Problemas con INNER JOIN

Estas en el tema de Problemas con INNER JOIN en el foro de PHP en Foros del Web. Hola a todos! Tengo un pequeño problema: Tabla 1 = abonado Tabla 2 = abono_categoria Tabla 3 = localidad @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código PHP: Ver original ...
  #1 (permalink)  
Antiguo 02/08/2019, 08:13
 
Fecha de Ingreso: febrero-2012
Ubicación: Cancun
Mensajes: 72
Antigüedad: 7 años, 6 meses
Puntos: 0
Problemas con INNER JOIN

Hola a todos! Tengo un pequeño problema:

Tabla 1 = abonado
Tabla 2 = abono_categoria
Tabla 3 = localidad


Código PHP:
Ver original
  1. $sql = mysqli_query($dbmega,"SELECT abonado_id, abonado_doc, abonado_nombre, abonado_apellido, abonado.abono_cat_id, abonado.localidad_desde_x_defecto, abonado.localidad_hasta_x_defecto, abono_categoria.abono_cat_nombre, localidad.localidad_nombre
  2.  
  3.        FROM abonado
  4.  
  5.        INNER JOIN abono_categoria ON abonado.abono_cat_id = abono_categoria.abono_cat_id
  6.        INNER JOIN localidad ON abonado.localidad_desde_x_defecto = localidad.localidad_id
  7.        INNER JOIN localidad ON abonado.localidad_hasta_x_defecto = localidad.localidad_id
  8.  
  9.        WHERE (abonado_id='".$usuario_nombre."' OR abonado_doc='".$usuario_nombre."') AND (abonado.abono_cat_id = '37' OR abonado.abono_cat_id = '38')") or die ("Error en: " . mysqli_error($dbmega));
  10.  
  11.         if($row = mysqli_fetch_array($sql)) {
  12.  
  13.             echo "
  14.            <input name='categoria' type='text' value='".$row['abono_cat_nombre']."' id='name' /><br>";
  15.  
  16.              echo "
  17.            <input name='origen' type='text' value='".$row['localidad_nombre']."' id='name' /><br>";
  18.  
  19.              echo "
  20.            <input name='destino' type='text' value='".$row['localidad_nombre']."' id='name' /><br>";?>

Funciona todo bien, solo que en "destino", me trae la misma localidad que en "origen", y no se como hacer.
Agradecería cualquier ayuda.

Muchas gracias

Saludos

Última edición por agustinpak; 02/08/2019 a las 08:55
  #2 (permalink)  
Antiguo 02/08/2019, 09:21
 
Fecha de Ingreso: febrero-2012
Ubicación: Cancun
Mensajes: 72
Antigüedad: 7 años, 6 meses
Puntos: 0
Respuesta: Problemas con INNER JOIN

Ya lo logre. Lo dejo a modo de ejemplo:
Código SQL:
Ver original
  1. SELECT abonado_id, abonado_doc, abonado_nombre, abonado_apellido, abonado.abono_cat_id, abonado.localidad_desde_x_defecto, abonado.localidad_hasta_x_defecto, abono_categoria.abono_cat_nombre, o.localidad_nombre AS origen, d.localidad_nombre AS destino
  2.  
  3.         FROM abonado
  4.  
  5.         INNER JOIN abono_categoria ON abonado.abono_cat_id = abono_categoria.abono_cat_id
  6.         INNER JOIN localidad AS o ON abonado.localidad_desde_x_defecto = o.localidad_id
  7.         INNER JOIN localidad AS d ON abonado.localidad_hasta_x_defecto = d.localidad_id
  8.  
  9.         WHERE (abonado_id='".$usuario_nombre."' OR abonado_doc='".$usuario_nombre."') AND (abonado.abono_cat_id = '37' OR abonado.abono_cat_id = '38')") or die ("Error en: " . mysqli_error($dbmega));
  10.  
  11.        if($row = mysqli_fetch_array($sql)) {
  12.  
  13.             echo "
  14.             <INPUT name='categoria' TYPE='text' VALUE='".$row['abono_cat_nombre']."' id='name' /><br>";
  15.  
  16.             echo "
  17.             <INPUT name='origen' TYPE='text' VALUE='".$row['origen']."' id='name' /><br>";
  18.  
  19.             echo "
  20.             <INPUT name='destino' TYPE='text' VALUE='".$row['destino']."' id='name' /><br>";?>

Última edición por agustinpak; 02/08/2019 a las 09:33



La zona horaria es GMT -6. Ahora son las 15:35.