Foros del Web » Programando para Internet » PHP »

Como realizar un subtotal.

Estas en el tema de Como realizar un subtotal. en el foro de PHP en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 23/01/2008, 17:32
 
Fecha de Ingreso: diciembre-2007
Mensajes: 113
Antigüedad: 16 años, 4 meses
Puntos: 0
Como realizar un subtotal.

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 |
__________________________________
| tu | 4 | 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 |
__________________________________

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
  #2 (permalink)  
Antiguo 23/01/2008, 18:37
 
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
  #3 (permalink)  
Antiguo 23/01/2008, 21:54
Avatar de eddwinpaz  
Fecha de Ingreso: noviembre-2007
Ubicación: Merida , Venezuela
Mensajes: 1.066
Antigüedad: 16 años, 5 meses
Puntos: 25
Re: Como realizar un subtotal.

WTF ? bueno la cosa si la estuviera haciendo yo seria de la siguiente manera...

Juan me compra un disco duro en 120 y el impuesto es de un 30% jiji seria 36

Disco Duro : 120
Sub Total : 120
IVA : 30% (Impuesto al valor agregado)
Total : 156

tendrías que tener en un segundo plano el IVA de tal modo que le puedas sumar ese monto.

ahora si vas a mostrar mas de 1 registro con el mismo método deberías usar un For loop o un while loop con una planilla la cual muestre los registros independiente de los demás así evitaras confusión en la visualización de la data.

Algo similar a esto:

Última edición por eddwinpaz; 23/01/2008 a las 22:08
  #4 (permalink)  
Antiguo 24/01/2008, 12:44
 
Fecha de Ingreso: diciembre-2007
Mensajes: 113
Antigüedad: 16 años, 4 meses
Puntos: 0
Re: Como realizar un subtotal.

Cita:
Iniciado por eddwinpaz Ver Mensaje
WTF ? bueno la cosa si la estuviera haciendo yo seria de la siguiente manera...

Juan me compra un disco duro en 120 y el impuesto es de un 30% jiji seria 36

Disco Duro : 120
Sub Total : 120
IVA : 30% (Impuesto al valor agregado)
Total : 156

tendrías que tener en un segundo plano el IVA de tal modo que le puedas sumar ese monto.

ahora si vas a mostrar mas de 1 registro con el mismo método deberías usar un For loop o un while loop con una planilla la cual muestre los registros independiente de los demás así evitaras confusión en la visualización de la data.

Algo similar a esto:
Muchas gracias voy a plantearlo y os cuento, es lo que necesitaba.

Saludos.
  #5 (permalink)  
Antiguo 24/01/2008, 12:47
Avatar de eddwinpaz  
Fecha de Ingreso: noviembre-2007
Ubicación: Merida , Venezuela
Mensajes: 1.066
Antigüedad: 16 años, 5 meses
Puntos: 25
Re: Como realizar un subtotal.

de nada saludos siempre a la orden..
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 05:09.