PHP - INNER JOIN y LIKE '%$test%'"

 
Vista:
sin imagen de perfil
Val: 34
Ha aumentado su posición en 4 puestos en PHP (en relación al último mes)
Gráfica de PHP

INNER JOIN y LIKE '%$test%'"

Publicado por Juan Carlos (19 intervenciones) el 16/10/2018 13:51:56
Buenos días. Tengo una consulta que no soy capaz de hacerla funcionar.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
<?php
header('Content-Type: text/html; charset=utf-8');
 
if (isset($_GET['term'])){
	$test = $_GET['term'];
	# conexión base de datos
 
 
 
$return_arr = array();
/* Si la conexión a la base de datos , ejecuta instrucción SQL. */
if ($conexion)
{
 
 
$fetch = mysqli_query($conexion, "SELECT Id_catalogo, Titulo, Marca FROM catalogo WHERE Titulo LIKE '%$test%' OR Marca LIKE '%$test%'");
 
	/* Recuperar y almacenar en conjunto los resultados de la consulta.*/
while ($row = mysqli_fetch_array($fetch)) {
 $Id_catalogo=$row['Id_catalogo'];
 
 $row_array['value'] = $row['Titulo']." | ".$row['Marca']." | ";// Lo que me muestra en el desplegable
 $row_array['Id_catalogo']= $row['Id_catalogo'];
 $row_array['Titulo']= $row['Titulo'];// Lo que me queda tras la selección
 
		array_push($return_arr,$row_array);
    }
}
 
/* Cierra la conexión. */
mysqli_close($conexion);
 
/* Codifica el resultado del array en JSON. */
echo json_encode($return_arr);
 
}
?>

Como podéis ver en la tabla "catalogo" hay un campo llamado "Id_catalogo" y tengo otra tabla llamada "catalogo_medidas" que también tiene un campo llamado "Id_catalogo". Ambos tienen el mismo valor lógicamente.

Lo que pretendo es que me muestre también el dato del campo llamado "Referencia" que está en la tabla "catalogo_medidas" y que además de que las búsquedas las haga en los campos "Titulo" y "Marca" (lo hace ahora correctamente), también las haga en el campo "Referencia" de la tabla "catalogo_medidas".

He probado con INNER JOIN pero me da error.

¿Alguna idea? Gracias!!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro
Val: 1.634
Plata
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

INNER JOIN y LIKE '%$test%'"

Publicado por Alejandro (839 intervenciones) el 16/10/2018 15:48:29
  • Alejandro se encuentra ahora conectado en el
  • chat de PHP
1
2
3
4
SELECT *
FROM Tabla1 AS T1
INNER JOIN Tabla2 AS T2 ON T2.CampoID=T1.CampoID
WHERE T1.CampoCondicion1 LIKE '%' OR T2.CampoCondicion2 LIKE '%'
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 34
Ha aumentado su posición en 4 puestos en PHP (en relación al último mes)
Gráfica de PHP

INNER JOIN y LIKE '%$test%'"

Publicado por Juan Carlos (19 intervenciones) el 18/10/2018 09:08:32
Hola Alejandro buenos días.

Funciona perfectamente siempre y cuando haga un SELECT * FROM ya que si hago un SELECT Id_catalogo, Marca, Referencia.... NO me funciona. La verdad que no entiendo porqué... eso era lo que me pasaba antes, que en la T1 le indicaba solo los campos que iba a utilizar en la consulta con el fin de optimizarla.

Muuuuuuuuchas gracias por la ayuda!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar