Foros del Web » Programando para Internet » PHP »

sumar datos de una consulta

Estas en el tema de sumar datos de una consulta en el foro de PHP en Foros del Web. Hola, soy nuevo en el foro. Mi consulta es referente a sumar datos en una consulta. Soy aprendiz de analisis de la información y estoy ...
  #1 (permalink)  
Antiguo 21/07/2011, 21:49
 
Fecha de Ingreso: julio-2011
Ubicación: Popayán Cauca
Mensajes: 24
Antigüedad: 12 años, 9 meses
Puntos: 0
De acuerdo sumar datos de una consulta

Hola, soy nuevo en el foro.
Mi consulta es referente a sumar datos en una consulta.
Soy aprendiz de analisis de la información y estoy desarrollando una aplicación que permita gestionar los procesos resultantes de la crianza de gallinas ponedoras en un galpón de una granja avicola. Para ello cuento con un formulario llamado produccion.php, el cual me permite registrar las cantidades de las recogidas de huevos que se realizan durante el día, los 7 días de la semana.
Se realizan tres recogidas, y los huevos se catalogan en desechados y de primera.
En el formulario hay un boton llamado reporte, el cual llama a un formulario llamado reporte_diario.php. Este tiene dos campos: una caja de texto en la que se digita el numero del lote al que se le registran los datos, y la fecha en la cual se efectuó la recogida. Este obtiene la información de la base de datos por medio del formulario producción_dia.php. Cuando hay un lote y este ha registrado datos de las tres recogidas del dia, la consulta es exitosa, pero si el lote que se quiere consultar no existe en la base o si el lote no registra ningún dato aparece el siguiente mensaje:
Warning: Division by zero in C:\AppServ\www\tecnoavicola_AppServer1\modelos\pro duccion_dia.php on line 124

Warning: Division by zero in C:\AppServ\www\tecnoavicola_AppServer1\modelos\pro duccion_dia.php on line 125

Warning: Division by zero in C:\AppServ\www\tecnoavicola_AppServer1\modelos\pro duccion_dia.php on line 126

He probado variantes del codigo pero no logro que desaparesca el mensaje.
El objetivo es que si consulto un dato que no existe en la base, me aparesca en la consulta campos vacios pues no hay datos que consultar, pero que no aparezca el mensaje de errror ya visto.


Por razones de espacio solo adjunto uno de los tres formularios .


produccion_dia.php
<?php

$lote=$_POST["lote"];
$fecha1=$_POST["fch_produccion1"];
$ingresadas= $_POST["ingresadas"];
$muertas= $_POST["muertas"];
$descartadas= $_POST["descartadas"];
$vivas =$_POST["vivas"];
$conectar= mysql_connect("localhost","root","sena");
mysql_select_db("tecnoavicola19",$conectar);
//$resultado = mysql_query("SELECT produccion.lote,fch_produccion,recogida,total_prim era,ingresadas,muertas,descartadas,vivas,grave,kil ote,bulote FROM produccion ,calculo_costos WHERE ( produccion.lote='$lote' and fch_produccion='$fecha1')",$conectar) or die (mysql_error()) ;


$resultado = mysql_query("SELECT produccion.lote,fch_produccion,recogida,total_prim era,ingresadas,muertas,descartadas,vivas FROM produccion WHERE (produccion.lote='$lote' AND fch_produccion='$fecha1')",$conectar) or die (mysql_error()) ;

echo "

<table width='100%' bgcolor='#5F9EA0' border='1'>
<tr>
<td align='center'>Dia</td>
<td align='center'>Lote</td>
<td align='center'>Recoleccion</td>
<td align='center'>Huevos de primera</td>
<td align='center'>% Postura</td>
<td align='center'>% Mortalidad</td>
<td align='center'>% Descarte</td>
<td align='center'>Saldo aves</td>

</tr>";

$sum_TP_Manana = $sum_TP_Manana + $fila[total_primera];
$sum_Des_Manana = $sum_Des_Manana + $fila[desechados];
$sum_TP_Mediodia = $sum_TP_Mediodia + $fila[total_primera];
$sum_Des_Mediodia = $sum_Des_Mediodia + $fila[desechados];
$sum_TP_Tarde = $sum_TP_Tarde + $fila[total_primera];
$sum_Des_Tarde = $sum_Des_Tarde + $fila[desechados];
$sum_TP_Adicional = $sum_TP_Adicional + $fila[total_primera];
$sum_Des_Adicional = $sum_Des_Adicional + $fila[desechados];
$sum_Total_Primera = $sum_Total_Primera + $fila[total_primera];
$sum_ingresadas= $sum_ingresadas+$fila[ingresadas];
$Total_TP=$sum_TP_Manana + $sum_TP_Mediodia + $sum_TP_Tarde + $sum_TP_Adicional;

$sum_muertas= $sum_muertas+$fila[muertas];
$sum_descartadas= $sum_descartadas+$fila[descartadas];





//Contador lineas (registros)
$numreg = 0;

while($fila = mysql_fetch_array($resultado))
//while ($row = mysql_fetch_row($resultado))
{
$sum_ingresadas= $fila[vivas];
$sum_muertas= $fila[muertas];
$sum_descarte= $fila[descartadas];
$sum_Total_Primera = $fila[total_primera];
$postura= ($sum_Total_Primera*100)/$sum_ingresadas;
$muertas= ($sum_muertas*100)/$sum_ingresadas;
$descarte= ($sum_descarte*100)/$sum_ingresadas;
$total_muertas= $total_muertas + ($sum_muertas*100)/$sum_ingresadas;
$total_descarte= $total_descarte + ($sum_descarte*100)/$sum_ingresadas;
echo"


<tr>
<td>$fila[fch_produccion]</td>
<td>$fila[lote]</td>
<td align='center'>$fila[recogida]</td>
<td align='center'>$fila[total_primera]</td>
<td>$postura</td>
<td>$muertas</td>
<td>$descarte</td>
<td>$fila[vivas]</td>
</tr>";
switch ($fila[recogida])


{


case 'Manana':
$sum_TP_Manana = $sum_TP_Manana + $fila[total_primera];

break;
case 'Mediodia':
$sum_TP_Mediodia = $sum_TP_Mediodia + $fila[total_primera];

break;
case 'Tarde':
$sum_TP_Tarde = $sum_TP_Tarde + $fila[total_primera];

break;
case 'Adicional':
$sum_TP_Adicional = $sum_TP_Adicional + $fila[total_primera];

break;
case 'ingresadas':
$sum_ingresadas= $sum_ingresadas+$fila[vivas];
default:

}
//incrementamos en uno por cada iteración del bucle while
++$numreg;










}

$Total_TP=$sum_TP_Manana + $sum_TP_Mediodia + $sum_TP_Tarde + $sum_TP_Adicional;
$ingresadas=$sum_ingresadas;
$muertas= $sum_muertas;
$descarte= $sum_descarte;
$Total=($Total_TP*100)/$ingresadas;
$Total_muertas= ($muertas*100)/$ingresadas;
$Total_descarte= ($descarte*100)/$ingresadas;


echo"
<tr>
<td></td>
<td></td>
<td>TOTALES</td>
<td align='center'>$Total_TP</td>
<td align='center'>$Total </td>
<td align='center'>$total_muertas</td>
<td align='center'>$total_descarte</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>";



echo "</table>";
echo"</table>";



mysql_close($conectar);


agradezco la atencion prestada y espero me puedan colaborar.
Mi correo es: [email protected]
  #2 (permalink)  
Antiguo 22/07/2011, 00:48
Avatar de repara2  
Fecha de Ingreso: septiembre-2010
Ubicación: München
Mensajes: 2.445
Antigüedad: 13 años, 7 meses
Puntos: 331
Respuesta: sumar datos de una consulta

Warning: Division by zero in C:\AppServ\www\tecnoavicola_AppServer1\modelos\pro duccion_dia.php on line 124

Warning: Division by zero in C:\AppServ\www\tecnoavicola_AppServer1\modelos\pro duccion_dia.php on line 125

Warning: Division by zero in C:\AppServ\www\tecnoavicola_AppServer1\modelos\pro duccion_dia.php on line 126

El único problema es que no puedes dividir por 0. Inicializa la variable a 1, si luego no encuentra ningún valor entonces la división dará resultado correcto. Salu2!
http://www.forosdelweb.com/f18/cada-...r-foro-925387/
__________________
Fere libenter homines, id quod volunt, credunt.

Etiquetas: mysql, registro, formulario
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:17.