PHP - Problemas con suma de datos

 
Vista:

Problemas con suma de datos

Publicado por congas1983 (29 intervenciones) el 22/09/2007 16:00:05
Buenas tardes amigos

les escribo para preguntarte como se puede sumar valores dentro una tabla

tengo una tabla en mysql llamada ensayo, dentro esta tabla tengo estos campos
cedula
fecha
nombre
escuadron
year
mes
semana
dia
valor
tengo una consulta por el campo escuadron qque me muestra los datos de la tabla ordenados por escuadron.
ejemplo
id escuadron cedula fecha nombre año mes semana dia valor
1 tamboras 98974 1/09/2007 carlos 2007 4 3 lunes 10000
2 tamboras 1689 1/08/2007 carlos 2007 4 2 martes 10000

como hago yo dentro de la misma consulta

para que me genere una celda al final de la tabla que diga total y me sume los datos de la columna valor, para tener el valor totalizado por escuadron

este el codigo fuente de la consulta antes mencionada

?php
header("Pragma: ");
header('Cache-control: ');
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Content-type: application/vnd.ms-excel"); header("Content-disposition: attachment; filename='ENSAYOS.xls'");
$txtcedula=$_REQUEST['txtcedula'];
$txtfecha=$_REQUEST['txtfecha'];
$txtnombre=$_REQUEST['txtnombre'];
$cboescuadron=$_REQUEST['cboescuadron'];
$cboano=$_REQUEST['cboano'];
$txtmes=$_REQUEST['txtmes'];
$txtsemana=$_REQUEST['txtsemana'];
$txtdia=$_REQUEST['txtdia'];
$txtvalor=$_REQUEST['txtvalor'];
$protocolo=Protocolo;
$cn=mysql_connect("localhost","root","")or die ("no se puede establecer la conexion");

mysql_select_db("sisbagir");

$cons="SELECT * FROM ENSAYO where escuadron ='$protocolo'";

$resultado=mysql_query($cons);
$numfilas=mysql_num_rows($resultado);
if ($numfilas==0)
{
echo "no existe registro";
}
else

{

?>
<table border="1" align="center">
<TR><tD colspan="9"><div align="center"><strong>BANDA ATANASIO GIRARDOT</strong></div></tD>
<TR><tD colspan="9"><div align="center"></strong></div></tD>
</TR>
<tr>
<th>Cedula</th>
<th>Fecha</th>
<th>Nombre</th>
<th>Escuadron</th>
<th>Año</th>
<th>Mes</th>
<th>Semana</th>
<th>Dia</th>
<th>Valor</th>
</tr>
<?
while ($numfilas=mysql_fetch_array($resultado))
{
?>
<tr><?echo "<td>".$numfilas["cedula"]."</td>";?>
<?echo "<td>".$numfilas["fecha"]."</td>";?>
<?echo "<td>".$numfilas["nombre"]."</td>";?>
<?echo "<td>".$numfilas["escuadron"]."</td>";?>
<?echo "<td>".$numfilas["ano"]."</td>";?>
<?echo "<td>".$numfilas["mes"]."</td>";?>
<?echo "<td>".$numfilas["semana"]."</td>";?>
<?echo "<td>".$numfilas["dia"]."</td>";?>
<?echo "<td>".$numfilas["valor"]."</td>";?>
</tr>
<?

}
}?><TABLE><TR>
<td colspan="9"><p> </p></td>
</TR></TABLE>

Tolal
<table width="200" border="1">
<tr>
<td height="61" colspan="5"><p> </p>
<p><strong>TESORERO</strong></p></td>
<td width="432" colspan="4" rowspan="2"> </td>
</tr>
<br />
<tr>
<td height="61" colspan="5"><p> </p>
<strong>SECRETARIA</strong></td>
</tr>
</table>
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:Problemas con suma de datos

Publicado por Pam (16 intervenciones) el 23/09/2007 12:11:42
hola! desde mi punto de vista deberias tener una tabla q se llame "escuadron" por ejemplo donde tengas el nombre del escuadron y el "id"... luego una tabla aparte de las personas ke estan en cada escuadron.. lo relacionarias por el id del escuadron y la cedula de la persona..... y despues otra q sea por ejemplo "detalle_escuadron".. donde colocas el dia, semana, mes, valor, colocandole su id de escuadron tambien.

No se si el total seria por mes de cada escuadron? no entiendo muy bien.

pero recorrerias la trabla tomando en cuenta el id... y vas sumando lo ke tengas en el campo valor. crea una tabla q tenga 2 campos id_escuadron y total_escuadron. y ahi almacenas el total calculado...

dinos de que se trata ese total.. y si es por un tiempo especifico... ;)
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:Problemas con suma de datos

Publicado por Pam (16 intervenciones) el 23/09/2007 14:25:35
Si lo que quieres es dibujar y mostrar en pantalla sin tocar la BD.. solamente haces que cuando llegue al final de la consulta.... dibujas una celda.. o una tablita separada y ahi mismo en las propiedades le pones TOTAL.

Ahora para la suma.. me imagino que tienes en un ciclo la consulta, ok ahi adentro colocas una variable (ej:$total) que te vaya sumando los valores. y lo que haces es colocar la variable $total en la celda donde vaya....

espero haber entendido ahora y haberte ayudado.
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:Problemas con suma de datos

Publicado por congas1983 (29 intervenciones) el 24/09/2007 15:24:28
amigo ya hice lo lo de la variable total pero esta sacando este error

me esta sumando los datos dos veces ejemplo

el base de datos tengo un dato valor de 500 cuando cuadro la otra celda para que muestre el total me esta mostrando 1000 o sea me lo esta sumando doble.

realmente no se como puedo yo estar sumando los datos del campo valor por escuadron.
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:Problemas con suma de datos

Publicado por Nicolás (154 intervenciones) el 24/09/2007 17:17:12
He encontrado unos cuantos errores de concepto... como que el primer <tr> no lo cierras nunca... el <table> lo cierras despues de cerrar el else y en realidad deberias cerrarlo antes... ese tipo de cosas. Me ho tomado la libertad de reescribir el código.

<?php
header("Pragma: ");
header('Cache-control: ');
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Content-type: application/vnd.ms-excel"); header("Content-disposition: attachment; filename='ENSAYOS.xls'");
$txtcedula=$_REQUEST['txtcedula'];
$txtfecha=$_REQUEST['txtfecha'];
$txtnombre=$_REQUEST['txtnombre'];
$cboescuadron=$_REQUEST['cboescuadron'];
$cboano=$_REQUEST['cboano'];
$txtmes=$_REQUEST['txtmes'];
$txtsemana=$_REQUEST['txtsemana'];
$txtdia=$_REQUEST['txtdia'];
$txtvalor=$_REQUEST['txtvalor'];
$protocolo='Protocolo';
$cn=mysql_connect("localhost","root","")or die ("no se puede establecer la conexion");

mysql_select_db("sisbagir");

$cons="SELECT * FROM ENSAYO where escuadron ='$protocolo'";

$resultado=mysql_query($cons);
$numfilas=mysql_num_rows($resultado);
if ($numfilas==0)
{
echo "no existe registro";
}
else

{

?>
<table border="1" align="center">
<TR><tD colspan="9"><div align="center"><strong>BANDA ATANASIO GIRARDOT</strong></div></tD></TR>
<TR><tD colspan="9"> </tD></TR>
<tr>
<th>Cedula</th>
<th>Fecha</th>
<th>Nombre</th>
<th>Escuadron</th>
<th>Año</th>
<th>Mes</th>
<th>Semana</th>
<th>Dia</th>
<th>Valor</th>
</tr>
<?
$total = 0;
while ($numfilas=mysql_fetch_array($resultado))
{
$total += $numfilas["valor"];
?>
<tr><td><? echo $numfilas["cedula"]; ?></td>
<td><? echo $numfilas["fecha"]; ?></td>
<td><? echo $numfilas["nombre"]; ?></td>
<td><? echo $numfilas["escuadron"]; ?></td>
<td><? echo $numfilas["ano"]; ?></td>
<td><? echo $numfilas["mes"]; ?></td>
<td><? echo $numfilas["semana"]; ?></td>
<td><? echo $numfilas["dia"]; ?></td>
<td><? echo $numfilas["valor"]; ?></td>
</tr>
<?
}
?>
</table>
<?
}
?>
<p> </p>

Tolal
<table width="200" border="1">
<tr>
<td height="61"><strong>TESORERO</strong></td>
<td width="432" rowspan="2"><? echo $total; ?></td>
</tr>
<tr>
<td height="61"><strong>SECRETARIA</strong></td>
</tr>
</table>

Nos avisas si hay algo que no entiendes. Suerte
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