PHP - Listas en html con consultas sql

 
Vista:
sin imagen de perfil

Listas en html con consultas sql

Publicado por Elisa (71 intervenciones) el 27/08/2014 13:21:14
Buenos días!

Necesito un cable con algo:
Tengo un buscador por nombre de empresa, introduzco la empresa y me aparecen X dispositivos con su id y su dirección MAC. Además existen X grupos adheridos a cada empresa y lo que pretendo es que por cada dispositivo de la empresa introducida en el buscador, me aparezca una lista desplegable con todos los nombres de los grupos que existen para dicha empresa.

Este es mi código:

(un include dentro del .php en el que está el buscador me lleva a este otro .php)

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
38
39
<?php
 	class grupos{
		 function hacer_grupos($getvalue){
 
 			$busqueda = "SELECT * FROM dispositivos WHERE nombre_de_la_empresa LIKE '%$getvalue%'";
 			$result = mysql_query($busqueda);
 
                        $busqueda2 = "SELECT nombre_grupo FROM grupos WHERE nombre_de_la_empresa LIKE '%$getvalue%' GROUP BY nombre_grupo";
			 $result2 = mysql_query($busqueda2);
 
			 $busqueda3 = "SELECT Dispositivos FROM dispositivos WHERE nombre_de_la_empresa LIKE '%$getvalue%'";
			 $result3 = mysql_query($busqueda3);
			 $fila2 = mysql_num_rows($result3);
 
 			if (mysql_num_rows($result2)!=0){
 
				 echo "<tr>";
				 echo "<td align = 'center'>";
				 echo "<select>";
 
 				while($fila = mysql_fetch_assoc($result2)){
 
 					for($i=1; $i<=$fila2; $i++){
 
						echo "<option value = '$fila[nombre_grupo]'>$fila[nombre_grupo]";
					        echo "</option>";
                                        }
 
				  }
 
				echo "</select>";
				echo "</td>";
				echo "</tr>";
 
			}
		}
	}
 
?>

Por ejemplo, una de las empresas tiene tres dispositivos y dos grupos, cuando meto su nombre me muestra los dispositivos, pero tan solo una lista con los dos grupos tres veces, una por dispositivo. Lo que quiero es tener tres listas con los dos grupos por separado.

Muchas 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 xve
Val: 3.943
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Listas en html con consultas sql

Publicado por xve (6935 intervenciones) el 27/08/2014 15:28:36
Hola Elisa, no te entiendo muy bien lo que quieres hacer, y creo que es porque no entiendo la relación...

Haber si es algo así:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
# bucle por cada dispositivo
while($fila = mysql_fetch_assoc($result3))
{
	$busqueda2 = "SELECT idGrupo,nombre_grupo FROM grupos WHERE idGrupo=$file["idGrupo"] GROUP BY nombre_grupo";
	$result2 = mysql_query($busqueda2)
 
	# bucle por cada grupo
	echo "<select>";
		while($grupo = mysql_fetch_assoc($result2))
		{
			echo "<option value = '".$grupo[idGrupo]."'>".$grupo[nombre_grupo]."</option>";
		}
	echo "</select>";
}

Lo que no se muy bien es como se vincula la tabla grupos con los dispositivos... te lo he puesto en negrita.

Lo que te hará este código, es mostrar diferentes selects para cada grupo asociado a un dispositivo.

Coméntanos si te sirve, ok?
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

Listas en html con consultas sql

Publicado por Elisa (71 intervenciones) el 27/08/2014 15:57:50
Realmente lo que vinculo es la tabla grupos con el nombre de empresa, que es lo que hay común entre las dos tablas (dispositivos y grupos).

Por cada dispositivo de misma empresa, me muestra los grupos que tengo, vinculados a dicha emopresa. El problema es, que me muestra los seis grupos (en este caso concreto tengo 3 dispositivos y dos grupos, luego el total son 6 grupos) en la misma lista, y yo quiero que haga lo miso pero separándolo en 3 listas, una por dispositivo.

No se si de esta forma me he explicado mejor...gracias!
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