Duda consulta relación 3 tablas
Publicado por Mikel (6 intervenciones) el 10/03/2021 11:46:27
Por cada click que hago en una etiqueta, esa etiqueta se guarda en un array, y medianta Ajax le paso ese array con las etiquetas seleccionadas. $etiquetas es el array donde se recogen las seleccionadas.
En la base de datos tengo tres tablas, una de etiquetas(id, etiquetas), una de archivos(id, archivo) y la otra que relaciona estas dos anteriores, etiquetas_archivos(id, id_etiquetas, id_archivos).
Como puedo conseguir que cada vez que le de una etiqueta, me devuelva las etiquetas asociadas a esa misma?, es decir, con la etiqueta que le paso, me devolveria las etiquetas que tengan el mismo id_archivo que la clicada, ya que varias etiquetas pueden tener el mismo id_archivo.
1
2
3
4
5
6
7
8
$html = '';
$etiquetas = [''];
if (isset($_POST['etiquetas'])) {
$etiquetas = $_POST['etiquetas'];
}
$etiquetaFirst = $etiquetas[0]; //esto he añadido para comprobar si funciona con el primero, pero no tengo muy claro como hacer la consulta con mas de una etiqueta.
En la base de datos tengo tres tablas, una de etiquetas(id, etiquetas), una de archivos(id, archivo) y la otra que relaciona estas dos anteriores, etiquetas_archivos(id, id_etiquetas, id_archivos).
Como puedo conseguir que cada vez que le de una etiqueta, me devuelva las etiquetas asociadas a esa misma?, es decir, con la etiqueta que le paso, me devolveria las etiquetas que tengan el mismo id_archivo que la clicada, ya que varias etiquetas pueden tener el mismo id_archivo.
1
2
3
4
5
$sql = mysqli_query($con,"SELECT * FROM etiquetas (INNER JOIN etiquetas_archivos ON etiquetas.id = etiquetas_archivos.id_etiquetas INNER JOIN archivos ON etiquetas_archivos.id_archivos = archivos.id) WHERE etiqueta='$etiquetaFirst'");
while ($row = mysqli_fetch_array($sql)) {
$etiqueta = $row['tag'];
$html .= '<div class="col-sm-4 inline-block etiqueta" id="etiqueta" name="etiqueta"> <a href="#" >'. $etiqueta .'</a></div>';
}
Valora esta pregunta


0