Ver Mensaje Individual
  #2 (permalink)  
Antiguo 23/01/2008, 18:37
marco_sa
 
Fecha de Ingreso: diciembre-2007
Mensajes: 113
Antigüedad: 16 años, 4 meses
Puntos: 0
Re: Como realizar un subtotal.

Cita:
Iniciado por marco_sa Ver Mensaje
Hola a todos

Se me plantea lo siguiente:

Tengo que sacar filas en una tabla HTML desde una consulta a mysql, pero cuando termine una condición osea cuando el while acabe imprima una fila con el subtotal, digo subtotal, por que despues debe seguir el programa y realizar otra vuelta.

Algo asi como esto .
__________________________________
| Nombre | unidad1 | unidad2 | unidad3 |
__________________________________
| yo | 4 | 4 | 5 |
__________________________________
| el | 5 | 4 | 5 |
__________________________________
| Sub Total | 4 | 4 | 5 |
__________________________________
| otro | 3 | 5 | 6 |
__________________________________
| otro el | 1 | 1 | 1 |
__________________________________
| Sub Total | 4 | 6 | 7 |
__________________________________
| TOTAL | 4 | 4 | 5 |
__________________________________

Aqui os pongo el codigo:

Código PHP:
<?Php
require 'ulogin.php';
require (
"classes/conectar.Mysql.php");
require (
"var.php");
require 
'funciones/funciones_delegaciones.php';
require 
'funciones/funciones_suma_caja.php';
require 
'funciones/funciones_enpruebas.php';

    
// Nos envia el dato el link del archivo index.php
    
$id_empresa=$_COOKIE[uempresa];

    
$id_prefactura=$_GET[id_prefactura];
    
$id_delegacion=$_COOKIE[udelegacion];

?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>CAJA DIA <?Php echo $fecha;?></title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link href="css/estilos_caja.css" rel="stylesheet" type="text/css">
<link href="css/tabla_genera_caja.css" rel="stylesheet" type="text/css">
</head>

<body>
<table width="100%" border="0" align="center" cellpadding="0" cellspacing="0" bordercolor="#CCCCCC">
  <tr>
    <td background="imagenes/fondo_verde.jpg"><div align="center"><img src="imagenes/operarios.jpg" width="50" height="99"></div></td>
    <td><img src="imagenes/facturas.jpg" width="50" height="99"></td>
    <td><img src="imagenes/contratos.jpg" width="50" height="99"></td>
    <td><img src="imagenes/fn_cn.jpg" width="50" height="99"></td>
    <td><img src="imagenes/g_b.jpg" width="20" height="99"></td>
    <td><img src="imagenes/g_b_cm.jpg" width="20" height="99"></td>
    <td><img src="imagenes/g_gn.jpg" width="20" height="99"></td>
    <td><img src="imagenes/g_gn_cm.jpg" width="20" height="99"></td>
    <td><img src="imagenes/llavecorte3-4.jpg" width="20" height="99"></td>
    <td><img src="imagenes/llavecorte3-4_cm.jpg" width="20" height="99"></td>
    <td><img src="imagenes/revision_GLP.jpg" width="20" height="99"></td>
    <td><img src="imagenes/revision_GLP_cm.jpg" width="20" height="99"></td>
    <td><img src="imagenes/r_pr.jpg" width="20" height="99"></td>
    <td><img src="imagenes/r_pr_cm.jpg" width="20" height="99"></td>
    <td><img src="imagenes/cm.jpg" width="20" height="99"></td>
    <td bgcolor="#CCFFF0"><div align="center"><img src="imagenes/otros.jpg" width="20" height="99"></div></td>
    <td bgcolor="#CCFFF0"><div align="center"><img src="imagenes/suma.jpg" width="30" height="99"></div></td>
    <td bgcolor="#CCFFF0"><div align="center"><img src="imagenes/iva.jpg" width="30" height="99"></div></td>
    <td bgcolor="#CCFFF0"><div align="center"><img src="imagenes/total.jpg" width="30" height="99"></div></td>
    <td bgcolor="#CCFFF0"><div align="center"><img src="imagenes/dietas.jpg" width="30" height="99"></div></td>
    <td bgcolor="#CCFFF0"><div align="center"><img src="imagenes/anticipos.jpg" width="30" height="99"></div></td>
    <td bgcolor="#CCFFF0"><div align="center"><img src="imagenes/restoacobrar.jpg" width="30" height="99"></div></td>
  </tr><?PHP

  $generando 
mysql_query("SELECT * FROM prefactura WHERE id_delegacion='$id_delegacion' AND fecha='$fecha'") or die (mysql_error());


while (
$datos mysql_fetch_array($generando))

{
if (
$dime_jefe=1)
{
$id_jefe=$datos['id_jefe'];
echo 
"Estoy aqui es jefe";
}
else
{
echo 
"No es jefe";
}

$cod_operario=$datos['cod_operario'];
$dime_jefe=si_es_jefe($cod_operario);

$pre_facturas=Consultar("SELECT * FROM prefactura WHERE id_delegacion='$id_delegacion' AND fecha='$fecha' ORDER BY id_jefe");

$id_prefactura=$datos['id_prefactura'];
$id_operario=$datos['id_operario'];

$nombre_completo=sacar_t_operario ($id_operario);
$sunombre=$nombre_completo['nombre']."<br>".$nombre_completo['apellido1']." ".$nombre_completo['apellido2'];


echo 
"<tr>";
       
$id_jefe=$datos['id_jefe'];

// No se si deberia poner ahi el while
//while ($id_jefe=$datos['id_jefe'])

// Si es jefe de equipo imprime su nombre en rojo

if ($dime_jefe=1){
echo 
"<td ALIGN = CENTER class='inicio_final_jefe'>".$datos['cod_operario']."<br>".$sunombre;
echo 
"</td>";
}
else
{
echo 
"<td ALIGN = CENTER class='inicio_final'>".$datos['cod_operario']."<br>".$sunombre;
echo 
"</td>";
}
// Aqui facturas contratos y demas
echo "<td ALIGN = CENTER class='inicio_final'>";$facturas_operario=dame_facturas($id_operario,$id_prefactura,$fecha);
echo 
"</td>
<td ALIGN = CENTER class='inicio_final'>"
;$contratos_operario=dame_contratos($id_operario,$id_prefactura,$fecha);
echo 
"</td>
<td ALIGN = CENTER class='inicio_final'>F :"
;$facturas_n=dame_facturas_n($id_operario,$fecha); echo "C :";$contratos_n=dame_contratos_n($id_operario,$fecha);
echo
"</td>
<td ALIGN = CENTER class='inicio_final'>"
.$datos['us_g_bu']."</td>
<td ALIGN = CENTER class='inicio_final'>"
.$datos['uc_g_bu']."</td>
<td ALIGN = CENTER class='inicio_final'>"
.$datos['us_g_gn']."</td>
<td ALIGN = CENTER class='inicio_final'>"
.$datos['uc_g_gn']."</td>
<td ALIGN = CENTER class='inicio_final'>"
.$datos['us_reg']."</td>
<td ALIGN = CENTER class='inicio_final'>"
.$datos['uc_reg']."</td>
<td ALIGN = CENTER class='inicio_final'>"
.$datos['us_reg_pro']."</td>
<td ALIGN = CENTER class='inicio_final'>"
.$datos['uc_reg_pro']."</td>
<td ALIGN = CENTER class='inicio_final'>"
.$datos['us_reg_pa']."</td>
<td ALIGN = CENTER class='inicio_final'>"
.$datos['uc_reg_pa']."</td>
<td ALIGN = CENTER class='inicio_final'>"
.$datos['us_reg_gn']."</td>
<td ALIGN = CENTER class='inicio_final'>"
.$datos['uc_reg_gn']."</td>
<td ALIGN = CENTER class='inicio_final'>"
.$datos['us_inyectores']."</td>
<td ALIGN = CENTER class='inicio_final'>"
.$datos['uc_inyectores']."</td>
<td ALIGN = CENTER class='inicio_final'>"
.$datos['us_max']."</td>
<td ALIGN = CENTER class='inicio_final'>"
.$datos['uc_max']."</td>
<td ALIGN = CENTER class='inicio_final'>"
.$datos['us_pdc']."</td>
<td ALIGN = CENTER class='inicio_final'>"
.$datos['uc_pdc']."</td>
<td ALIGN = CENTER class='inicio_final'>"
.$datos['us_fuga']."</td>
<td ALIGN = CENTER class='inicio_final'>"
.$datos['uc_fuga']."</td>
<<td ALIGN = CENTER class='inicio_final'>"
.$datos['us_lira40']."</td>
<td ALIGN = CENTER class='inicio_final'>"
.$datos['uc_lira40']."</td>
<td ALIGN = CENTER class='inicio_final'>"
.$datos['us_lira70']."</td>
<td ALIGN = CENTER class='inicio_final'>"
.$datos['uc_lira70']."</td>
<td ALIGN = CENTER class='inicio_final'>"
.$datos['us_antirretorno']."</td>
<td ALIGN = CENTER class='inicio_final'>"
.$datos['uc_antirretorno']."</td>
<td ALIGN = CENTER class='inicio_final'>"
.$datos['us_exceso']."</td>
<td ALIGN = CENTER class='inicio_final'>"
.$datos['uc_exceso']."</td>
<td ALIGN = CENTER class='inicio_final'>"
.$datos['us_llave20']."</td>
<td ALIGN = CENTER class='inicio_final'>"
.$datos['uc_llave20']."</td>
<td ALIGN = CENTER class='inicio_final'>"
.$datos['us_llave34']."</td>
<td ALIGN = CENTER class='inicio_final'>"
.$datos['uc_llave34']."</td>
<td ALIGN = CENTER class='inicio_final'>"
.$datos['us_reviglp']."</td>
<td ALIGN = CENTER class='inicio_final'>"
.$datos['uc_reviglp']."</td>
<td ALIGN = CENTER class='inicio_final'>"
.$datos['us_revign']."</td>
<td ALIGN = CENTER class='inicio_final'>"
.$datos['uc_revign']."</td>
<td ALIGN = CENTER class='inicio_final'>"
.$datos['u_contrato']."</td>
<td ALIGN = CENTER class='inicio_final'>"
.$datos['f_otros']."</td>
<td ALIGN = CENTER class='inicio_final'>"
.$datos['total']."</td>
<td ALIGN = CENTER class='inicio_final'>"
.$datos['iva']."</td>
<td ALIGN = CENTER class='inicio_final'>"
.$datos['total2']."</td>
<td ALIGN = CENTER class='inicio_final'>"
.$datos['comision']."</td>
<td ALIGN = CENTER class='inicio_final'>"
.$datos['anticipo']."</td>
<td ALIGN = CENTER class='inicio_final'>"
.$datos['restoacobrar']."</td>";

echo 
"</tr>";

}

?>
  <tr>
    <td align="center" class="inicio_final">&nbsp;</td>
    <td>SUB-TOTAL EQUIPO</td>
    <td>&nbsp;</td>

</tr>
</table>
<p>&nbsp;</p>
</body>
</html>
Mi problema es como le digo a php que genere esa linea de Subtotal y luego continue, hasta que se le acaben los nombres.

Estos datos los saco de una tabla la cual tiene toda la info pero claro me imprime todo seguido y no se donde intercalar o posicionar el while que sera el que diga mientras el nombre sea del equipo tal sigue, cuando se termine, para imprime subtotal y mira si siguen quedando operarios o nombres por procesar y empieze formando otras lineas acontinuación hasta que se acabe y me imprima el Total de los totales.

Perdonar por lo extenso pero no se como explicarme en menos lineas.

Un saludo.

Saludos