
Crear una consulta dependiendo del numero de campos
Publicado por Santon (77 intervenciones) el 26/11/2014 00:35:06
Buen dia a todos,.
Tengo el siguiente codigo: Que utilizo para imprimir en un cuadro las notas de cada materia.
En la consulta escribo directamente el codigo de la materia, pero yo quiziera hacer un ciclo dependiendo del numero de materias que contenga la tabla materias, para imprimir las materias dependiendo del numero de materias que existe en la tabla materias y no escribir el codigo de la materia.
<?php
//IMPRIMIR LAS NOTAS DE LA MATERIA 1
echo"<TR>";
echo"<TD align='center'><font face='Arial' size='2'>".INFORMATICA."</font></TD>";
$co2 = mysql_query("select * from tb_notas where V_codi_est= 'ZZ01402' and C_id_asignatura= 'INFBCH2-14'",$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 MATERIA 1
//IMPRIMIR LAS NOTAS DE LA MATERIA 2
echo"<TR>";
echo"<TD align='center'><font face='Arial' size='2'>".INGLES."</font></TD>";
$co3 = mysql_query("select * from tb_notas where V_codi_est= 'ZZ01402' and C_id_asignatura= 'INGBCH2-14'",$conexion);
while($row3 = mysql_fetch_array($co3)){
echo"<TD align='center'><font face='Arial' size='2'>".$row3['F_nota_1']."</font></TD>";
echo"<TD align='center'><font face='Arial' size='2'>".$row3['F_nota_2']."</font></TD>";
echo"<TD align='center'><font face='Arial' size='2'>".$row3['F_nota_3']."</font></TD>";
$n1=$row3['F_nota_1'];
$n2=$row3['F_nota_2'];
$n3=$row3['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 MATERIA 2
//IMPRIMIR LAS NOTAS DE LA MATERIA 3
echo"<TR>";
echo"<TD align='center'><font face='Arial' size='2'>".Ciencia." ".Salud." ".Y." ".Medio." ".Ambiente."</font></TD>";
$co4 = mysql_query("select * from tb_notas where V_codi_est= 'ZZ01402' and C_id_asignatura= 'INGBCH2-14'",$conexion);
while($row4 = mysql_fetch_array($co3)){
echo"<TD align='center'><font face='Arial' size='2'>".$row4['F_nota_1']."</font></TD>";
echo"<TD align='center'><font face='Arial' size='2'>".$row4['F_nota_2']."</font></TD>";
echo"<TD align='center'><font face='Arial' size='2'>".$row4['F_nota_3']."</font></TD>";
$n1=$row4['F_nota_1'];
$n2=$row4['F_nota_2'];
$n3=$row4['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 MATERIA 3
?>
QUISIERA HACER ALGO ASI: que por medio de una consulta a la tabla materia crear un vector donde me almacene los valores de los codigos de las materias y luego aplicarlos a las consultas para desplegar las notas para no escribir el codigo de la materia sino que sea dependiendo de la consulta
<?php
//MATERIAS
$cons1 = mysql_query("SELECT * FROM tb_materias'",$conexion);
while ( $row_materias = mysql_fetch_array($cons1) )
{
$cont++;
//IMPRIMIR LAS NOTAS DE LA MATERIA 1
echo"<TR>";
echo"<TD align='center'><font face='Arial' size='2'>".INFORMATICA."</font></TD>";
$co2 = mysql_query("select * from tb_notas where V_codi_est= 'ZZ01402' and C_id_asignatura= '$row_materias[1]'",$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 MATERIA 1
//IMPRIMIR LAS NOTAS DE LA MATERIA 2
echo"<TR>";
echo"<TD align='center'><font face='Arial' size='2'>".INGLES."</font></TD>";
$co3 = mysql_query("select * from tb_notas where V_codi_est= 'ZZ01402' and C_id_asignatura= '$row_materias[2]'",$conexion);
while($row3 = mysql_fetch_array($co3)){
echo"<TD align='center'><font face='Arial' size='2'>".$row3['F_nota_1']."</font></TD>";
echo"<TD align='center'><font face='Arial' size='2'>".$row3['F_nota_2']."</font></TD>";
echo"<TD align='center'><font face='Arial' size='2'>".$row3['F_nota_3']."</font></TD>";
$n1=$row3['F_nota_1'];
$n2=$row3['F_nota_2'];
$n3=$row3['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 MATERIA 2
//IMPRIMIR LAS NOTAS DE LA MATERIA 3
echo"<TR>";
echo"<TD align='center'><font face='Arial' size='2'>".Ciencia." ".Salud." ".Y." ".Medio." ".Ambiente."</font></TD>";
$co4 = mysql_query("select * from tb_notas where V_codi_est= 'ZZ01402' and C_id_asignatura= '$row_materias[3]",$conexion);
while($row4 = mysql_fetch_array($co3)){
echo"<TD align='center'><font face='Arial' size='2'>".$row4['F_nota_1']."</font></TD>";
echo"<TD align='center'><font face='Arial' size='2'>".$row4['F_nota_2']."</font></TD>";
echo"<TD align='center'><font face='Arial' size='2'>".$row4['F_nota_3']."</font></TD>";
$n1=$row4['F_nota_1'];
$n2=$row4['F_nota_2'];
$n3=$row4['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 MATERIA 3
}//fin del while materia
?>
Tengo el siguiente codigo: Que utilizo para imprimir en un cuadro las notas de cada materia.
En la consulta escribo directamente el codigo de la materia, pero yo quiziera hacer un ciclo dependiendo del numero de materias que contenga la tabla materias, para imprimir las materias dependiendo del numero de materias que existe en la tabla materias y no escribir el codigo de la materia.
<?php
//IMPRIMIR LAS NOTAS DE LA MATERIA 1
echo"<TR>";
echo"<TD align='center'><font face='Arial' size='2'>".INFORMATICA."</font></TD>";
$co2 = mysql_query("select * from tb_notas where V_codi_est= 'ZZ01402' and C_id_asignatura= 'INFBCH2-14'",$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 MATERIA 1
//IMPRIMIR LAS NOTAS DE LA MATERIA 2
echo"<TR>";
echo"<TD align='center'><font face='Arial' size='2'>".INGLES."</font></TD>";
$co3 = mysql_query("select * from tb_notas where V_codi_est= 'ZZ01402' and C_id_asignatura= 'INGBCH2-14'",$conexion);
while($row3 = mysql_fetch_array($co3)){
echo"<TD align='center'><font face='Arial' size='2'>".$row3['F_nota_1']."</font></TD>";
echo"<TD align='center'><font face='Arial' size='2'>".$row3['F_nota_2']."</font></TD>";
echo"<TD align='center'><font face='Arial' size='2'>".$row3['F_nota_3']."</font></TD>";
$n1=$row3['F_nota_1'];
$n2=$row3['F_nota_2'];
$n3=$row3['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 MATERIA 2
//IMPRIMIR LAS NOTAS DE LA MATERIA 3
echo"<TR>";
echo"<TD align='center'><font face='Arial' size='2'>".Ciencia." ".Salud." ".Y." ".Medio." ".Ambiente."</font></TD>";
$co4 = mysql_query("select * from tb_notas where V_codi_est= 'ZZ01402' and C_id_asignatura= 'INGBCH2-14'",$conexion);
while($row4 = mysql_fetch_array($co3)){
echo"<TD align='center'><font face='Arial' size='2'>".$row4['F_nota_1']."</font></TD>";
echo"<TD align='center'><font face='Arial' size='2'>".$row4['F_nota_2']."</font></TD>";
echo"<TD align='center'><font face='Arial' size='2'>".$row4['F_nota_3']."</font></TD>";
$n1=$row4['F_nota_1'];
$n2=$row4['F_nota_2'];
$n3=$row4['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 MATERIA 3
?>
QUISIERA HACER ALGO ASI: que por medio de una consulta a la tabla materia crear un vector donde me almacene los valores de los codigos de las materias y luego aplicarlos a las consultas para desplegar las notas para no escribir el codigo de la materia sino que sea dependiendo de la consulta
<?php
//MATERIAS
$cons1 = mysql_query("SELECT * FROM tb_materias'",$conexion);
while ( $row_materias = mysql_fetch_array($cons1) )
{
$cont++;
//IMPRIMIR LAS NOTAS DE LA MATERIA 1
echo"<TR>";
echo"<TD align='center'><font face='Arial' size='2'>".INFORMATICA."</font></TD>";
$co2 = mysql_query("select * from tb_notas where V_codi_est= 'ZZ01402' and C_id_asignatura= '$row_materias[1]'",$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 MATERIA 1
//IMPRIMIR LAS NOTAS DE LA MATERIA 2
echo"<TR>";
echo"<TD align='center'><font face='Arial' size='2'>".INGLES."</font></TD>";
$co3 = mysql_query("select * from tb_notas where V_codi_est= 'ZZ01402' and C_id_asignatura= '$row_materias[2]'",$conexion);
while($row3 = mysql_fetch_array($co3)){
echo"<TD align='center'><font face='Arial' size='2'>".$row3['F_nota_1']."</font></TD>";
echo"<TD align='center'><font face='Arial' size='2'>".$row3['F_nota_2']."</font></TD>";
echo"<TD align='center'><font face='Arial' size='2'>".$row3['F_nota_3']."</font></TD>";
$n1=$row3['F_nota_1'];
$n2=$row3['F_nota_2'];
$n3=$row3['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 MATERIA 2
//IMPRIMIR LAS NOTAS DE LA MATERIA 3
echo"<TR>";
echo"<TD align='center'><font face='Arial' size='2'>".Ciencia." ".Salud." ".Y." ".Medio." ".Ambiente."</font></TD>";
$co4 = mysql_query("select * from tb_notas where V_codi_est= 'ZZ01402' and C_id_asignatura= '$row_materias[3]",$conexion);
while($row4 = mysql_fetch_array($co3)){
echo"<TD align='center'><font face='Arial' size='2'>".$row4['F_nota_1']."</font></TD>";
echo"<TD align='center'><font face='Arial' size='2'>".$row4['F_nota_2']."</font></TD>";
echo"<TD align='center'><font face='Arial' size='2'>".$row4['F_nota_3']."</font></TD>";
$n1=$row4['F_nota_1'];
$n2=$row4['F_nota_2'];
$n3=$row4['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 MATERIA 3
}//fin del while materia
?>
Valora esta pregunta


0