JavaScript - script promedio

 
Vista:

script promedio

Publicado por Vicky (11 intervenciones) el 26/06/2006 21:07:14
Estoy desarrollando una pagina donde muestro la consulta de una base de datos en columnas (nombre, calificación1, calificación2, calificación3) y quisiera realizar un scrpt para sacar el promedio (por alumno) y mostrarlo en una columna al lado. La verdad que no se como hacerlo es por eso que envío esta consulta para ver si alguien puede darme una manito. Desde ya 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

RE:script promedio

Publicado por maree (28 intervenciones) el 26/06/2006 22:35:32
Lo + seguro es q se te pueda ayudar, pero para hacerlo es mejor si posteas lo que tienes de codigo (la consulta a la bd, etc) para ser mas especificos con la ayuda, ok...

Espero tu codigo, bye..
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

RE:script promedio

Publicado por Vicky (11 intervenciones) el 26/06/2006 23:59:48
OK y gracias por ser tan amable.
Mi codigo es php y es lo primero q hago en este lenguaje asi q encontraras algunas cosas desordenadas
Yo traigo la consulta la cual me muestra los datos de cada alumno (nombre y notas) en cada registro puedo ingresar a cambiar las notas y presionar el boton grabar ce cierra esa ventana y en la ventana padre se actualizan los datos, ahi quiero q en una columna al lado de las notas me aparezca el promedio de las mismas. Se que no es facil pero por lo menos dame una manito, estoy muy perdida, y gracias nuevamente... sos muy amable...

Este el codigo de la pag.hijo

<?php
$nombresesion = session_name("Administrador");
//echo "Esta es la sesion: ".$nombresesion."<br>";
session_start();
//echo $_SESSION["nombre"];
if(isset( $HTTP_SESSION_VARS['codigo']) )
{
//echo "Esta vive";
}
else
{
header("Location: index.htm");
exit();
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE>El Colegio en Casa</TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<SCRIPT LANGUAGE="JavaScript">
window.opener.location.reload();
</SCRIPT>
<script languaje="javascript">
var e1_1,e1_2,e1_3;
e1_1=parseInt(e1_1);
e1_2=parseInt(e1_2);
e1_3=parseInt(e1_3);
e1_4=parseInt(e1_4);
e1_5=parseInt(e1_5);
e1_6=parseInt(e1_6);
var $prom1;
$prom1=(e1_1+e1_2+e1_3+e1_4+e1_5+e1_6)/6;
</script>
</HEAD>
<body bgcolor="114477" text="114477" link="114477" vlink="114477" alink="114477">
<table width="98%" height="481" border=1 align=center
cellpadding=0 cellspacing=1 bordercolor=#114477
bgcolor=#f1eed6>
<tbody>
<tr bgcolor=#457aaf>
<td class=subtit_azul valign=center align=left
colspan=2 bgcolor="#990101" height="19"><div align="center"><img src="imagenes/logogrande.gif" width="500" height="70"></div></td>
</tr>
<tr>
<td height="19" colspan="2" align=left valign=center class=texto_gris_oscuro><font size="2" color="#114477" face="Verdana">
<?php
$enlace = mysql_connect ('localhost',,'');
mysql_select_db("elcolegi_notas", $enlace);

if( isset($_GET["id"]) && is_numeric($_GET["id"]) )
{
$id = $_GET["id"];
$consulta = mysql_query ("SELECT web_not.row_id, web_car.colegio, web_alu.nombre, e1_1, e1_2, e1_3, e1_4, e1_5, e1_6, conduc_1, eo_c, e2_1, e2_2, e2_3, e2_4, e2_5, conduc_2 FROM ((web_not INNER JOIN web_alu ON web_not.codigo=web_alu.codigo) INNER JOIN web_car ON web_not.colegio=web_car.colegio) WHERE web_not.materia=web_car.materia AND web_not.colegio=web_car.colegio AND web_not.curso=web_car.curso and web_not.row_id=$id") or die(mysql_error());
$ob = mysql_fetch_object($consulta);
$nu = mysql_num_rows($consulta);
if ($nu == 1)
{
// se supone que la id es unica
echo '<h5> Alumno: '.$ob->nombre.' </h5>';

} else {
echo 'No hay ningun registro '. $id;
}
} else {
echo '<a href="index.htm">vuelva</a>';
}
?>
</font><font size="1" color="#114477" face="Verdana"> </font></div></td>
<tr>
<td height=19 colspan="2" align=left valign=center class=subtit_azul> <div align="center"><font size="2" color="#114477" face="Verdana"><strong>En
esta sesión se registran Calificaciones (1º y 2º Etapa)</strong></font></div></td>
</tr>
<tr>
<td height=19 colspan="2" align=left valign=center class=subtit_azul><p align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Para
Ingresar las notas correspondientes a cada etapa </font></p></td>
</tr>
<tr>
<td height=287 colspan="1" align=left valign=center class=subtit_azul><div align="center">
<p align="center"><font size="2" face="Verdana">
<?php
$enlace = mysql_connect ('localhost','elcolegi_vicky','vicky');
mysql_select_db("elcolegi_notas", $enlace);

if( isset($_GET["id"]) && is_numeric($_GET["id"]) )
{
$id = $_GET["id"];
$conduc_1=$_GET["conduc_1"];
$consulta = mysql_query ("SELECT web_not.row_id, web_car.colegio, web_alu.nombre, e1_1, e1_2, e1_3, e1_4, e1_5, e1_6, conduc_1, eo_c, e2_1, e2_2, e2_3, e2_4, e2_5, conduc_2 FROM ((web_not INNER JOIN web_alu ON web_not.codigo=web_alu.codigo) INNER JOIN web_car ON web_not.colegio=web_car.colegio) WHERE web_not.materia=web_car.materia AND web_not.colegio=web_car.colegio AND web_not.curso=web_car.curso and web_not.row_id=$id") or die(mysql_error());
$ob = mysql_fetch_object($consulta);
$nu = mysql_num_rows($consulta);
if ($nu == 1)
{
echo
"
<form name='editar' method=post action='modificar.php'>
<input name='row_id' type='hidden' value= $_GET[id] >
<table align=center font size=1 color=#114477 face=Verdana>
<tr>
<td><div align=right><font size=2 color=#114477 face=verdana><strong>Primer Etapa</strong></font></div></td>
<td></td>
<tr>
<td><div align=right><font size=2 color=#114477 face=verdana>Calificacion 1 :</font></div></td>
<td><input type='text' name='e1_1' size='4' maxlength='2' value='$ob->e1_1'></td>
</tr>
<tr>
<td><div align=right><font size=2 color=#114477 face=verdana>Calificacion 2 :</font></div></td>
<td><input type='text' name='e1_2' size='4' maxlength='2' value='$ob->e1_2'></td>
</tr>
<tr>
<td><div align=right><font size=2 color=#114477 face=verdana>Calificacion 3 :</font></div></td>
<td><input type='text' name='e1_3' size='4' maxlength='2' value='$ob->e1_3'></td>
</tr>
<tr>
<td><div align=right><font size=2 color=#114477 face=verdana>Calificacion 4 :</font></div></td>
<td><input type='text' name='e1_4' size='4' maxlength='2' value='$ob->e1_4'></font></td>
</tr>
<tr>
<td><div align=right><font size=2 color=#114477 face=verdana>Calificacion 5 :</font></div></td>
<td><input type='text' name='e1_5' size='4' maxlength='2' value='$ob->e1_5'></font></td>
</tr>
<tr>
<td><div align=right><font size=2 color=#114477 face=verdana>Calificacion 6 :</font></div></td>
<td><input type='text' name='e1_6' size='4' maxlength='2' value='$ob->e1_6'></font></td>
</tr>
<tr>
<td><div align=right><font size=2 color=#114477 face=verdana>Conducta :</font></div></td>
<td>
<select name='$conduc_1'>
if $conduc_1 = -- {
select value=-->Ninguna OPCION}
elseif $coduc_1=E{
select value='Excelente'}
elseif $coduc_1=MB{
select value='Muy Bueno'}
elseif $coduc_1=B{
select value='Bueno'}
elseif $coduc_1=R{
select value='Regular'}
elseif $coduc_1=M{
select value='Malo'}
</select></font></td>
</tr>
<tr>
<td><div align=right><font size=2 color=#114477 face=verdana>Observaciones:</font></div></td>
<td width=39%>
<select name='obs_1'>
<option value=-->Ninguna OPCION</option>
<option value=SC>No se calificó (Se considera Aprobada)</option>
<option value=RL>Régimen Licencia Deportiva</option>
<option value=LP>Libre por faltas</option>
<option value=RP>Régimen de Trabajo</option>
<option value=EQ>Equivalencia Resolución Nº 3434/01</option>
<option value=NA>No se calificó (Se considera No Aprobada)</option>
</select>
<tr>
<td><div align=right><font size=2 color=#114477 face=verdana>Promedio:</font></div></td>
<td><input type='text' name='prom1' size='4' maxlength='2' value='$prom1'></font></td>
</tr>
</table> <input name='' type='submit' value='Grabar'> <input name='' type='submit' value='Salir' onclick='window.close()' align='center'
</form></td>
</form>
";
}else
{
echo '<a href="index.htm">vuelva</a>';
}
}
?>

</font></p>
<p align="center"> </p>
<p align="left"> <font color="114477" face="Courier New, Courier, mono">
</font></p>
</div></td>
</tr>
<tr>
<td colspan="2" align=left valign=center class=subtit_azul> <div align="right"></div></td>
</tr>
<tr>
<td height=19 colspan="2" align=left valign=center class=subtit_azul><p align="right"><font size="2" color="#114477" face="Verdana">
</font></p></td>
</tr>
</tbody>
</table>
</form>
</BODY>
</HTML>
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

RE:script promedio

Publicado por maree (28 intervenciones) el 27/06/2006 21:33:44
Ok Vicky, no estas tan perdida nada, jiji; es mas la solucion que te coloca aca es solo una modificacion de tu codigo.

Bien, recuerda que en javascript las variables no llevan "$", como en php. Los valores que le estas pasando desde el formulario, para que los reconozca tienes q pasarselos completos; o sea, no es e1_1, sino document.editar.e1_1.value.. Esto si te va a traer el valor que contenga el text e1_1. Además, utiliza una funcion que puedas llamar en el onload del body, asi cada vez q cargues la pagina se va a calcular la media de las calificaciones q tengan los textbox. Aqui te pongo la funcion:

function prom()
{

e1_1=parseInt(document.editar.e1_1.value);
e1_2=parseInt(document.editar.e1_2.value);
e1_3=parseInt(document.editar.e1_3.value);
e1_4=parseInt(document.editar.e1_4.value);
e1_5=parseInt(document.editar.e1_5.value);
e1_6=parseInt(document.editar.e1_6.value);

prom1=(e1_1+e1_2+e1_3+e1_4+e1_5+e1_6)/6;
}

Espero te sirva, bye...
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

RE:script promedio

Publicado por Vicky (11 intervenciones) el 27/06/2006 21:56:26
Gracias por responder, mirá tuve que validar en caso de que no hubiese nota, entonces mejore tu codigopero quiero q vo revisis y me digas si esta bien, una consulta, yo el codigo lo pongo en el head cierto?? y en donde quiero q aparezca en nro del promedio abajo en el body que pongo??
Otra cosa esta bien esta línea?? if(suma >0){prom1=((suma/cuenta,6,3),1,5),"--.--";quiero q me muestre asi los decimales.
Espero me entiendas y gracias por tu ayuda.
Saludos
Vicky

function promedio(){
e1_1=parseInt(document.editar.e1_1.value);
e1_2=parseInt(document.editar.e1_2.value);
e1_3=parseInt(document.editar.e1_3.value);
e1_4=parseInt(document.editar.e1_4.value);
e1_5=parseInt(document.editar.e1_5.value);
e1_6=parseInt(document.editar.e1_6.value);
var prom1,suma,cuenta;
suma=0;
cuenta=0;
if (e1_1<>0) { suma+=e1_1;
cuenta+=1
}
if (e1_2<>0) { suma+=e1_2;
cuenta+=1
}
if (e1_3<>0) { suma+=e1_3;
cuenta+=1
}
if (e1_4<>0) { suma+=e1_4;
cuenta+=1
}
if (e1_5<>0) { suma+=e1_5;
cuenta+=1
}
if (e1_6<>0) { suma+=e1_6;
cuenta+=1
}
if(suma >0){prom1=((suma/cuenta,6,3),1,5),"--.--";
}
}
</script>
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

RE:script promedio

Publicado por maree (28 intervenciones) el 27/06/2006 23:10:01
lo que puedes hacer para ver tu codigo es crear un textbox al que le asignas el promedio desde la funcion de javascript, por ejm

Creas un txt que se llame "promedio" y lo asignas asi: document.editar.promedio.value = prom

Asi podras visualizar tu resultado en este text q colocas donde lo necesites dentro de tu formulario.

Por otra parte if(suma >0)
{
prom1=((suma/cuenta,6,3),1,5),"--.--"; ->> esto no funciona asi, tienes q investigar como colocar la cantidad de decimales a un numero.

algo mas, en lugar de usar (e1_3<>0) usa (e1_3 >0), porque no quieres notas que sean numeros negativos...

Espero te sirva, bye..
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

RE:script promedio

Publicado por Victoria (11 intervenciones) el 28/06/2006 16:38:43
Estoy mejorando mi script ahora lo que te consulto es esto:
quiero que el resultado del script se muestre aqui:
<td><div align=right><font size=2 color=#114477 face=verdana>Promedio:</font></div></td>
<td><input type='text' name='prom1' size='4' maxlength='2' value='document.editar.promedio.value = prom1'></font></td>
Pero no logro q se muestre.
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

RE:script promedio

Publicado por maree (28 intervenciones) el 29/06/2006 23:07:20
Esto va dentro del script : document.editar.promedio.value = prom1
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