Foros del Web » Programando para Internet » PHP »

Suma de registros

Estas en el tema de Suma de registros en el foro de PHP en Foros del Web. hola a todos, bueno les cuento nesecito hacer una hoja en php que me consulte valores previamente ingresados por formulario. estos valores tienen que apareser ...
  #1 (permalink)  
Antiguo 13/11/2008, 17:14
 
Fecha de Ingreso: mayo-2008
Mensajes: 148
Antigüedad: 15 años, 11 meses
Puntos: 1
Suma de registros

hola a todos, bueno les cuento nesecito hacer una hoja en php que me consulte valores previamente ingresados por formulario.

estos valores tienen que apareser en pantalla y al final sumar todos los valores y dar un resultado al final

el detalle es que tiene que trabajar con usuario, es decir el usuario ingresa a su cuenta y ve cuanto es la deuda y el detalle, ej.:

ana

copias.........1200
escaneo......800
pasajes......1000
total...........3000

mis preguntas son:

¿como hago que me sume los registros?
¿como hago que me guarde el registro para cada usuario y que asocie la deuda a este?

espero se haya entendido y puedan ayudarme

muchas gracias
  #2 (permalink)  
Antiguo 13/11/2008, 17:29
 
Fecha de Ingreso: mayo-2006
Ubicación: Bogotá
Mensajes: 2.061
Antigüedad: 17 años, 11 meses
Puntos: 50
Respuesta: Suma de registros

para la sumatoria es facil. Cada vez que vaya imprimiendo cada uno de los articulos o lo que se a con el precio va acumulando en una variable este precio asi

Código PHP:
<?
$deuda 
$deuda $valorarticulo;
?>
al final imprime deuda y listo.

leugo se cre una tabla donde pueda guardar el id del usuario y el mont ode la deuda
y hace un insert con estos datos.
  #3 (permalink)  
Antiguo 17/11/2008, 11:28
 
Fecha de Ingreso: mayo-2008
Mensajes: 148
Antigüedad: 15 años, 11 meses
Puntos: 1
Respuesta: Suma de registros

Cita:
Iniciado por helacer Ver Mensaje
para la sumatoria es facil. Cada vez que vaya imprimiendo cada uno de los articulos o lo que se a con el precio va acumulando en una variable este precio asi

Código PHP:
<?
$deuda 
$deuda $valorarticulo;
?>
al final imprime deuda y listo.

leugo se cre una tabla donde pueda guardar el id del usuario y el mont ode la deuda
y hace un insert con estos datos.
haber, para empezar gracias por tu respuesta, mira, en la bd tengo una tabla que se llama cliente, en esta esta el nombre del cliente, el monto y el nombre del gasto es decir:

nombre:juan
monto:2500
gasto: copias

ahora ya hice que se imprimiera en pantalla, pero como hago para que al mismo usuario juan le agrege otro monto y otro gasto sin borrar el aunterior y mostrandolo en mi pantalla es decir:

nombre: juan

monto:::::::::::::::gasto
2500::::::::::::::::copias
3000::::::::::::::::pasajes

y al final me imprima el resultado

monto:::::::::::::::gasto
2500::::::::::::::::copias
3000::::::::::::::::pasajes

total:5500.

entonces yo con un formulario insertar el monto y el gasto y que el usuario al iniciar secion pueda ver en cuanto va la deuda y el desglose de la misma, no es un carrito de compras es como un informe de gastos del usuario
muchas gracias
  #4 (permalink)  
Antiguo 17/11/2008, 12:38
 
Fecha de Ingreso: mayo-2008
Mensajes: 148
Antigüedad: 15 años, 11 meses
Puntos: 1
Respuesta: Suma de registros

NAdie dice nada?

corrijo para los que no entienden como yo:
Nadie escribe nada?

Última edición por aliyuwey; 18/11/2008 a las 12:46
  #5 (permalink)  
Antiguo 17/11/2008, 12:42
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Suma de registros

¿nadie dice nada?

mmm.... (aquí se escribe)

ahora, estas usando SQL ??

usa la función SUM para esto.... sumar

luego, yo te recomiendo que agregues un campo de total a la BD y ahí vas agregando ¿el total?

o bien, usa variables de sesión, cookies, archivos, etc.... por favor, ¡¡se creativo!!


suerte....
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #6 (permalink)  
Antiguo 17/11/2008, 12:43
Avatar de masterojitos  
Fecha de Ingreso: julio-2008
Ubicación: Lima Callao Chucuito
Mensajes: 1.931
Antigüedad: 15 años, 9 meses
Puntos: 105
Respuesta: Suma de registros

ps con tablas maestro detalle...
es decir tienes tu tabla clientes (id_cliente, nombre,total)
y tu tabla detalleCliente (id_cliente,monto,gasto)

asi cuando venga una nueva operacion, agregas en la tabla detalleCliente dependiendo del id del cliente el monto y nombre del gasto..... claro y actualizas el total en la tabla cliente.

Suerte.
__________________
Atte. MasterOjitos :ojotes:
Todo sobre Programación Web
Las ultimas tendencias en Efectos y Recursos Web: MasterOjitos Blog
  #7 (permalink)  
Antiguo 17/11/2008, 12:45
Avatar de chwc  
Fecha de Ingreso: julio-2008
Ubicación: Buenos Aires ! :D
Mensajes: 814
Antigüedad: 15 años, 8 meses
Puntos: 103
Respuesta: Suma de registros

mira, pon:
Código PHP:
$_SESSION['usuario'] = $usuario;
//selecionando del registro (modificalo a tu medida)
$registros=mysql_query("select copias,deuda,pasajes
                       from usuarios where usuario='$usuario"
,$conexion) or
  die(
"Problemas en el select:".mysql_error());
$reg=mysql_fetch_array($registros);
//mostrando datos
echo "<b>".$usuario."</b> <br>";
echo 
"copias: ".$reg['copias']."<br>" ;
echo 
"pasajes: ".$reg['pasajes']."<br>" ;
echo 
"deuda: ".$reg['deuda']."<br>" ;
$costo $reg['pasajes'] + $reg['copias'];
echo 
"<br>debes:".$costo."<br>";
//updateando el registro (modificalo a tu medida)
$registros=mysql_query("update usuarios
                         set total='$costo' 
                         where usuario='$usuario'"
,$conexion) or
  die(
"Problemas en el select:".mysql_error()); 
saludos
  #8 (permalink)  
Antiguo 18/11/2008, 12:33
 
Fecha de Ingreso: mayo-2008
Mensajes: 148
Antigüedad: 15 años, 11 meses
Puntos: 1
Respuesta: Suma de registros

primero que todo gracias por tu respuesta, mira aqui te dejo el codigo para que veas lo que llevo, aun no logro sumar e imprimir el total
Código PHP:
<?php require_once('../Connections/estudio.php'); ?>
<?php
require_once('../includes/common/KT_common.php');
require_once(
'../includes/tfi/TFI.php');
require_once(
'../includes/tso/TSO.php');
require_once(
'../includes/nav/NAV.php');
$conn_estudio = new KT_connection($estudio$database_estudio);
if (!
function_exists("GetSQLValueString")) {
function 
GetSQLValueString($theValue$theType$theDefinedValue ""$theNotDefinedValue ""
$theValue get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
 
$theValue function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);
  switch (
$theType) {
case 
"text":
$theValue = ($theValue != "") ? "'" $theValue "'" "NULL";
break;    
case 
"long":
case 
"int":
$theValue = ($theValue != "") ? intval($theValue) : "NULL";
break;
case 
"double":
$theValue = ($theValue != "") ? "'" doubleval($theValue) . "'" "NULL";
break;
case 
"date":
$theValue = ($theValue != "") ? "'" $theValue "'" "NULL";
break;
case 
"defined":
$theValue = ($theValue != "") ? $theDefinedValue $theNotDefinedValue;
break;}
return 
$theValue;}}
$tfi_listdeuda1 = new TFI_TableFilter($conn_estudio"tfi_listdeuda1");
$tfi_listdeuda1->addColumn("deuda.deuda""STRING_TYPE""deuda""%");
$tfi_listdeuda1->Execute();
$tso_listdeuda1 = new TSO_TableSorter("rsdeuda1""tso_listdeuda1");
$tso_listdeuda1->addColumn("deuda.deuda");
$tso_listdeuda1->setDefault("deuda.deuda");
$tso_listdeuda1->Execute();
$nav_listdeuda1 = new NAV_Regular("nav_listdeuda1""rsdeuda1""../"$_SERVER['PHP_SELF'], 20);
$maxRows_rsdeuda1 $_SESSION['max_rows_nav_listdeuda1'];
$pageNum_rsdeuda1 0;
if (isset(
$_GET['pageNum_rsdeuda1'])) {
$pageNum_rsdeuda1 $_GET['pageNum_rsdeuda1'];}
$startRow_rsdeuda1 $pageNum_rsdeuda1 $maxRows_rsdeuda1;
$NXTFilter_rsdeuda1 "1=1";
if (isset(
$_SESSION['filter_tfi_listdeuda1'])) {
$NXTFilter_rsdeuda1 $_SESSION['filter_tfi_listdeuda1'];}
$NXTSort_rsdeuda1 "deuda.deuda";
if (isset(
$_SESSION['sorter_tso_listdeuda1'])) {
$NXTSort_rsdeuda1 $_SESSION['sorter_tso_listdeuda1'];}
mysql_select_db($database_estudio$estudio);
$query_rsdeuda1 "SELECT deuda.deuda, deuda.id_deuda, deuda.monto FROM deuda WHERE {$NXTFilter_rsdeuda1} ORDER BY {$NXTSort_rsdeuda1}";
$query_limit_rsdeuda1 sprintf("%s LIMIT %d, %d"$query_rsdeuda1$startRow_rsdeuda1$maxRows_rsdeuda1);
$rsdeuda1 mysql_query($query_limit_rsdeuda1$estudio) or die(mysql_error());
$row_rsdeuda1 mysql_fetch_assoc($rsdeuda1);
if (isset(
$_GET['totalRows_rsdeuda1'])) {
$totalRows_rsdeuda1 $_GET['totalRows_rsdeuda1'];
} else {  
$all_rsdeuda1 mysql_query($query_rsdeuda1);
$totalRows_rsdeuda1 mysql_num_rows($all_rsdeuda1);}
$totalPages_rsdeuda1 ceil($totalRows_rsdeuda1/$maxRows_rsdeuda1)-1;
$nav_listdeuda1->checkBoundries();
?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Documento sin t&iacute;tulo</title>
<link href="includes/skins/mxkollection3.css" rel="stylesheet" type="text/css" media="all" />
<script src="../includes/common/js/base.js" type="text/javascript"></script>
<script src="../includes/common/js/utility.js" type="text/javascript"></script>
<script src="../includes/skins/style.js" type="text/javascript"></script>
<script src="../includes/nxt/scripts/list.js" type="text/javascript"></script>
<script src="../includes/nxt/scripts/list.js.php" type="text/javascript"></script>
<script type="text/javascript">
$NXT_LIST_SETTINGS = {
duplicate_buttons: true,
duplicate_navigation: false,
row_effects: true,
show_as_buttons: true,
record_counter: false}
</script>
<style type="text/css">
@import url("style/principal.css");
.KT_col_deuda {width:600px; overflow:hidden;}
</style>
</head>
<body>
<table cellspacing="0" cellpadding="0" class="menusuper">
<tr><td>Ubicaci&oacute;n: deuda</td>
</tr></table><div class="KT_tng" id="listdeuda1">  <div class="KT_tnglist">
<form action="<?php echo KT_escapeAttribute(KT_getFullUri()); ?>" method="post" id="form1">  <div class="KT_options"> <a href="<?php echo $nav_listdeuda1->getShowAllLink(); ?>"><?php echo NXT_getResource("Show"); ?>            <?php 
 
if (@$_GET['show_all_nav_listdeuda1'] == 1) {
?> <?php echo $_SESSION['default_max_rows_nav_listdeuda1']; ?>
 <?php  } else { ?>
 <?php echo NXT_getResource("all"); ?>
 <?php ?>
<?php 
echo NXT_getResource("records"); ?></a> &nbsp;
&nbsp; <a href="<?php echo $tfi_listdeuda1->getResetFilterLink(); ?>"><?php echo NXT_getResource("Reset filter"); ?></a></div>
<table cellpadding="2" cellspacing="0" class="KT_tngtable">
<thead>
<tr class="KT_row_order">
 <th> <input type="checkbox" name="KT_selAll" id="KT_selAll"/>            </th>
<th colspan="2" class="KT_sorter KT_col_deuda <?php echo $tso_listdeuda1->getSortIcon('deuda.deuda'); ?>" id="deuda"> <a href="<?php echo $tso_listdeuda1->getSortLink('deuda.deuda'); ?>">deuda</a> </th>
<th>&nbsp;</th>
</tr><tr class="KT_row_filter"><td>&nbsp;</td>
<td colspan="2"><input type="text" name="tfi_listdeuda1_deuda" id="tfi_listdeuda1_deuda" value="<?php echo KT_escapeAttribute(@$_SESSION['tfi_listdeuda1_deuda']); ?>" size="150" maxlength="150" /></td>
<td><input type="submit" name="tfi_listdeuda1" value="<?php echo NXT_getResource("Filter"); ?>" /></td> </tr>
</thead><tbody>  <?php if ($totalRows_rsdeuda1 == 0) { // Show if recordset empty ?>  <tr> <td colspan="4"><?php echo NXT_getResource("The table is empty or the filter you've selected is too restrictive."); ?></td> </tr>
<?php // Show if recordset empty ?>
<?php 
if ($totalRows_rsdeuda1 0) { // Show if recordset not empty ?>
<?php 
do { ?>
<tr class="<?php echo @$cnt1++%2=="" "KT_even"?>">
<td><input type="checkbox" name="kt_pk_deuda" class="id_checkbox" value="<?php echo $row_rsdeuda1['id_deuda']; ?>" />
<input type="hidden" name="id_deuda" class="id_field" value="<?php echo $row_rsdeuda1['id_deuda']; ?>" />                </td>
<td><div class="KT_col_deuda"><?php echo KT_FormatForList($row_rsdeuda1['deuda'], 80); ?></div></td>
<td><div class="KT_col_monto"><?php echo KT_FormatForList($row_rsdeuda1['monto'],20); ?></div></td>
<td><a href="id_deuda.php?id_deuda=<?php echo $row_rsdeuda1['id_deuda']; ?>&amp;KT_back=1"><img src="images/editar.gif" alt="Modificar deuda"  title="Modificar deuda" width="20" height="20" border="0" /></a> <a href="#delete"><img src="images/borrar.gif" alt="Eliminar deuda" title="Eliminar  deuda" width="20" height="20" border="0" /></a> </td>
</tr><?php } while ($row_rsdeuda1 mysql_fetch_assoc($rsdeuda1)); ?>
<?php 
// Show if recordset not empty ?>
</tbody></table> <div class="KT_bottomnav"><div>
<?php $nav_listdeuda1->Prepare();
  require(
"../includes/nav/NAV_Text_Navigation.inc.php");?>
<table width="200" border="1">
 <tr><td>total: </td> </tr>
</table></div></div><div class="KT_bottombuttons"><div class="KT_operations"> <a class="KT_edit_op_link" href="#" onclick="nxt_list_edit_link_form(this); return false;"></a> <a class="KT_delete_op_link" href="#" onclick="nxt_list_delete_link_form(this); return false;"></a><div class="KT_operations"></div></div><select name="no_new" id="no_new"><option value="1">1</option><option value="3">3</option><option value="6">6</option></select><a class="KT_additem_op_link" href="id_deuda.php?KT_back=1" onclick="return nxt_list_additem(this)"><?php echo NXT_getResource("add new"); ?></a> </div>
</form></div><br class="clearfixplain" />
</div><p>&nbsp;</p></body></html>
<?php mysql_free_result($rsdeuda1); ?>
  #9 (permalink)  
Antiguo 18/11/2008, 12:34
 
Fecha de Ingreso: mayo-2008
Mensajes: 148
Antigüedad: 15 años, 11 meses
Puntos: 1
Respuesta: Suma de registros

que le tengo que modificar, para que me imprima el resultado ?

deuda = a detalle: copias, hojas, pasajes etc.
monto = a el valor a sumar

en donde monto y deuda se agregan manualmente mas no son columnas ni tablas.

ej:

deuda::::::::::::::::::monto
copia.........................1000
pasajes....................2000
etc...........................3000

Última edición por aliyuwey; 18/11/2008 a las 12:39
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 12:41.