PHP - descompones el array generado por una consulta

   
Vista:

descompones el array generado por una consulta

Publicado por Santon (77 intervenciones) el 29/11/2014 22:40:54
Buen dia espero que me ayuden.
tengo esta consulta

$consulta = mysql_query("SELECT `C_id_asignatura` FROM `tb_materias` WHERE `V_nivel` = "Bachillerato" AND `V_modalidad` = "Distancia"",$conexion);

y quiero descomponer la variable $consulta algo asi como un vector quiero descomponerla para luego usar los valores en otras consultas algo asi

$consulta['0']
para usarla en otra consulta asi: "select * from tb notas where C_id_asignatura = $consulta['0']"

$consulta['1']
para usarla en otra consulta asi: "select * from tb notas where C_id_asignatura = $consulta['1']"

$consulta['2']
para usarla en otra consulta asi: "select * from tb notas where C_id_asignatura = $consulta['2']"

ayudar por favor tengo dias tratando y no lo logro
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

descompones el array generado por una consulta

Publicado por Ismael (41 intervenciones) el 30/11/2014 17:01:57
Pues lo ibas haciendo bien, para el planteamiento que dices la forma sería así:
puedes recorrer la consulta con un while.
1
2
3
4
5
$consulta = mysql_query("SELECT `C_id_asignatura` FROM `tb_materias` WHERE `V_nivel` = "Bachillerato" AND `V_modalidad` = "Distancia"",$conexion);
while($result1=mysql_fetch_row($consulta)){
 $consulta2=mysql_query("select * from tb notas where C_id_asignatura = $result1[0]");
 $result2=mysql_fetch_row($consulta2);
}

Un saludo
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

descompones el array generado por una consulta

Publicado por Santon (77 intervenciones) el 01/12/2014 20:21:23
Gracias por tu comentario lo probare, no se si no entiendo bien pero supongamos que en la primera consulta tengo 3 datos se me tendrian que generar 3 consultas algo asi:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
$consulta = mysql_query("SELECT `C_id_asignatura` FROM `tb_materias` WHERE `V_nivel` = "Bachillerato" AND `V_modalidad` = "Distancia"",$conexion);
while($result1=mysql_fetch_row($consulta)){
 
//primera consulta
$consulta2=mysql_query("select * from tb notas where C_id_asignatura = $result1[0]"); $result2=mysql_fetch_row($consulta2);
 
//segunda consulta
$consulta3=mysql_query("select * from tb notas where C_id_asignatura = $result1[1]");
$result3=mysql_fetch_row($consulta3);
 
//tercera consulta
$consulta4=mysql_query("select * from tb notas where C_id_asignatura = $result1[2]");
$result4=mysql_fetch_row($consulta4);
}

y si tengo 5 registros en mi primera consulta tendria que ser algo asi

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
$consulta = mysql_query("SELECT `C_id_asignatura` FROM `tb_materias` WHERE `V_nivel` = "Bachillerato" AND `V_modalidad` = "Distancia"",$conexion);
while($result1=mysql_fetch_row($consulta)){
 
//primera consulta
$consulta2=mysql_query("select * from tb notas where C_id_asignatura = $result1[0]"); $result2=mysql_fetch_row($consulta2);
 
//segunda consulta
$consulta3=mysql_query("select * from tb notas where C_id_asignatura = $result1[1]"); $result3=mysql_fetch_row($consulta3);
 
//tercera consulta
$consulta4=mysql_query("select * from tb notas where C_id_asignatura = $result1[2]"); $result4=mysql_fetch_row($consulta4);
 
//primera consulta
$consulta5=mysql_query("select * from tb notas where C_id_asignatura = $result1[3]"); $result5=mysql_fetch_row($consulta5);
 
//segunda consulta
$consulta6=mysql_query("select * from tb notas where C_id_asignatura = $result1[4]"); $result6=mysql_fetch_row($consulta6);
}

segun lo que entiendo, pero si tuviera N registros tendria, quizas que hacer algo asi

1
2
3
4
5
$consulta = mysql_query("SELECT `C_id_asignatura` FROM `tb_materias` WHERE `V_nivel` = "Bachillerato" AND `V_modalidad` = "Distancia"",$conexion);
$i=0:
while($result1=mysql_fetch_row($consulta)){
$consulta2=mysql_query("select * from tb notas where C_id_asignatura = $result1[i++]"); $result2=mysql_fetch_row($consulta2);
}
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

descompones el array generado por una consulta

Publicado por Santon (77 intervenciones) el 01/12/2014 22:37:53
!!Ya esta resuelto, gracias ismael con tu aporte logre resolver algo que me tenia muy preocupado, mil gracias....
Que bonita tabla me genere y automatica como yo la queria.....

les comento el codigo y mill gracias, les dejo el codigo por si alguien utiliza algo igual....

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
//GENERAR MATERIA Y NOTAS
echo"<TR>";
$consulta = mysql_query("SELECT C_id_asignatura, V_nom_mat FROM tb_materias WHERE V_nivel = 'Bachillerato' AND V_modalidad = 'Distancia' order by C_id_asignatura",$conexion);
while($result1=mysql_fetch_row($consulta)){
echo"<TD align='center'><font face='Arial' size='2'>".$result1[1]."</font></TD>";
$co2 = mysql_query("select * from tb_notas where V_codi_est= 'ZZ01402' and C_id_asignatura= '$result1[0]'",$conexion);
while($row2 = mysql_fetch_array($co2)){
	   		echo"<TD align='center'><font face='Arial' size='2'>".$row2['F_nota_1']."</font></TD>";
			echo"<TD align='center'><font face='Arial' size='2'>".$row2['F_nota_2']."</font></TD>";
			echo"<TD align='center'><font face='Arial' size='2'>".$row2['F_nota_3']."</font></TD>";
			    $n1=$row2['F_nota_1'];
		        $n2=$row2['F_nota_2'];
		        $n3=$row2['F_nota_3'];
				$prom=round((($n1+$n2+$n3)/3),2);
			echo"<TD align='center' bgcolor='#CCCCCC'><font face='Arial' size='2'>$prom</font></TD>";
		}
echo"</TR>";
//FIN DE MATERIAS
}
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