Foros del Web » Programando para Internet » PHP »

sumar cantidades semanalmente

Estas en el tema de sumar cantidades semanalmente en el foro de PHP en Foros del Web. Hola amigos de forosdelweb, soy nuevo aqui, y pues programando ya llevo un rato, aun que no soy un experto ni nada por el estilo. ...
  #1 (permalink)  
Antiguo 14/09/2010, 15:01
 
Fecha de Ingreso: septiembre-2010
Mensajes: 5
Antigüedad: 13 años, 7 meses
Puntos: 0
Pregunta sumar cantidades semanalmente

Hola amigos de forosdelweb, soy nuevo aqui, y pues programando ya llevo un rato, aun que no soy un experto ni nada por el estilo.

Mi cuestion es la siguiente, estoy haciendo un programa en php con base de datos mysql, en el cual se reciben 3 cantidades y las almacene en una bd. Hasta ahi perfecto.

Los datos son ingresados diariamente.

Lo que necesito es hacer que me sume las cantidades que llevo de acuerdo al dia de la semana.

Es decir, si entro el lunes, que me de los datos ingresados del lunes, pero si ingreso el viernes que me de la suma de los datos ingresados toda la semana.

Ya me he partido la cabeza tratando de resolver este problema, no se si me pueden orientar, o dar una idea de como resolverlo, he intentado con la funcion SUM para sumar los valores de la fila entera de la tabla, pero al parecer la estoy usando mal por que no me da el resultado.

Si alguien tiene alguna idea les agradeceria eternamente su ayuda. Saludos !
  #2 (permalink)  
Antiguo 14/09/2010, 15:13
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 14 años, 6 meses
Puntos: 334
Respuesta: sumar cantidades semanalmente

como es la estructura de tu tabla?...
__________________
More about me...
~ @rhyudek1
~ Github
  #3 (permalink)  
Antiguo 15/09/2010, 16:42
 
Fecha de Ingreso: septiembre-2010
Mensajes: 5
Antigüedad: 13 años, 7 meses
Puntos: 0
Respuesta: sumar cantidades semanalmente

Hola Hidek1,

la estructura de la tabla es la siguiente:

nombre (varchar 30);
app (varchar 30);
apm (varchar 30);
casas_con int;
casas_pre int;
casas_ven int;

casas_con,pre,ven, son los valores que recibo diario, de esos necesito la suma de acuerdo al dia. Actualmente tengo el siguiente formulario, pero no me sale los resultados que quiero, lo que hago es tomar la fecha actual, y pedir una fecha que sirva de rango para compararla con la actual. es decir, de la fecha actual menos 3 dias, por ejemplo.

<? include ("conexion_BD.php") ?>
<?php
//ConectDB($link);
$link=conectame();

$nomb = $_POST['usu'];

$result2=@mysql_query("SELECT * FROM temp_jose WHERE borra='1' ",$link);
$Y=@mysql_fetch_array($result2);

$result=@mysql_query("SELECT * FROM usuarios WHERE usuario='$Y[usuario]' ",$link);
$X=@mysql_fetch_array($result);

$result3=@mysql_query("SELECT * FROM reportes WHERE nombre_completo='$nomb' ",$link);
$Z=@mysql_fetch_array($result3);

$result4=@mysql_query("SELECT * FROM sumas WHERE nombre_completo='$nomb' ",$link);
$W=@mysql_fetch_array($result4);
?>


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html><link rel="stylesheet" type="text/css" href="../estilos/estilo_html.css"><link rel="stylesheet" type="text/css" href="../estilos/estilo_ligas.css"><link rel="stylesheet" href="menu_data/cbcscbinsmenu.css" type="text/css" />

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>ExE ASESORES</title>
<script language="JavaScript">
function calcula(){

$nomb = $_POST['usu'];
$d = $_POST['di'];
$m = $_POST['me'];
$a = $_POST['an'];

$d2 = $_POST['di2'];
$m2 = $_POST['me2'];
$a2 = $_POST['an2'];

$result2=@mysql_query("SELECT * FROM temp_jose WHERE borra='1' ",$link);
$Y=@mysql_fetch_array($result2);

$result=@mysql_query("SELECT * FROM usuarios WHERE usuario='$Y[usuario]' ",$link);
$X=@mysql_fetch_array($result);


$query = mysql_query("SELECT SUM(casas_consig) FROM reportes WHERE nombre_completo='$nomb' AND fecha BETWEEN '$a2-$m2-$d2' AND ''$a-$m-$d'' ");
$resultado = mysql_result($query, 0);

$query2 = mysql_query("SELECT SUM(casas_present) FROM reportes WHERE nombre_completo='$nomb' AND fecha BETWEEN '$a2-$m2-$d2' AND ''$a-$m-$d'' ");
$resultado2 = mysql_result($query2, 0);

$query3 = mysql_query("SELECT SUM(casas_present) FROM reportes WHERE nombre_completo='$nomb' AND fecha BETWEEN '$a2-$m2-$d2' AND ''$a-$m-$d'' ");
$resultado3 = mysql_result($query3, 0);


$r1=$resultado;
$r2=$resultado2;
$r3=$resultado3;


}
</script>


<style type="text/css">
<!--
a:link {
color: #0000CC;
text-decoration: none;
}
a:visited {
text-decoration: none;
color: #0000CC;
}
a:hover {
text-decoration: none;
}
a:active {
text-decoration: none;
}
.Estilo39 {font-size: 9px}
body {
background-image: url(imagenes/flux.jpg);
}
.Estilo44 {
color: #A50021;
font-weight: bold;
}
.Estilo47 {color: #333333; font-family: Calibri; font-weight: bold; }
.Estilo48 {color: #EAEAEA}
.Estilo51 {
font-family: Calibri;
font-weight: bold;
font-size: 12px;
}
.Estilo54 {font-family: Calibri; font-size: 12px; }
.Estilo62 { font-size: 12px;
font-weight: bold;
}
.Estilo63 {
font-family: Calibri;
font-size: 16px;
font-weight: bold;
}
.Estilo64 {
font-size: 24px;
font-weight: bold;
}
-->
</style>
</head>

<body onload="calcula()">

<form name="form1" method="post" action="">
<table width="900" align="center" cellpadding="0" cellspacing="0" bordercolor="#EAEAEA" background="../Imagenes/fondo03.jpg" frame="above" rules="none">
<tbody>
<tr>
<td width="175" height="19" bgcolor="#EAEAEA">&nbsp;</td>
<td width="551" bgcolor="#EAEAEA"><div align="center">
<p>&nbsp;</p>
<table width="400">
<tr>
<td colspan="2"><div align="center" class="Estilo63">Resultado de la b&uacute;squeda</div></td>
</tr>
<tr>
<td width="114"><span class="Estilo51">Asesor:</span></td>
<td width="274"><input name="nombre" type="text" id="nombre" value="<?=$Z[nombre_completo];?>" size="30"></td>
</tr>
<tr>
<td><span class="Estilo51">Fecha Actual </span></td>
<td><span class="Estilo54">
<?php
$fecha = date ("d/m/Y");
//if ($fecha == 'Tue'){$fecha='Miercoles';}

echo "Hoy es: " . $fecha;
?>
</span></td>
</tr>
</table>
<p class="Estilo64"><br>
__________________________________<br>
</p>
<table width="320" height="71">
<tr>
<td height="21" colspan="2"><div align="center" class="Estilo63">Suma de Casas en este periodo </div></td>
</tr>
<tr>
<td width="133" height="21"><span class="Estilo51">Casas Consignadas</span></td>
<td width="175"><input name="caco" type="text" id="caco" value="<?=$r1;?>" size="5"></td>
</tr>
<tr>
<td height="21"><span class="Estilo51">Casas Presentadas </span></td>
<td><input name="capr" type="text" id="capr" size="5"></td>
</tr>
<tr>
<td height="21"><span class="Estilo51">Casas Vendidas </span></td>
<td><input name="cave" type="text" id="cave" size="5"></td>
</tr>
<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
</table>
<br>
<table width="320" height="71">
<tr>
<td height="21" colspan="2"><div align="center" class="Estilo63">Total general </div></td>
</tr>
<tr>
<td width="133" height="21"><span class="Estilo51">Casas Consignadas</span></td>
<td width="175"><input name="tot1" type="text" id="tot1" value="<?=$W[total_con];?>" size="5"></td>
</tr>
<tr>
<td height="21"><span class="Estilo51">Casas Presentadas </span></td>
<td><input name="tot2" type="text" id="tot2" value="<?=$W[total_pre];?>" size="5"></td>
</tr>
<tr>
<td height="21"><span class="Estilo51">Casas Vendidas </span></td>
<td><input name="tot3" type="text" id="tot3" value="<?=$W[total_ven];?>" size="5"></td>
</tr>
<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
</table>
<p>&nbsp;</p>
</div></td>
<td width="174" bgcolor="#EAEAEA">&nbsp;</td>
</tr>
</tbody>
</table>
</form>
</body>
</html>
  #4 (permalink)  
Antiguo 15/09/2010, 17:52
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 14 años, 7 meses
Puntos: 214
Respuesta: sumar cantidades semanalmente

Hola
bueno, pues las consultas se ven bien
te sugiero que hagas echo a las consultas,
y las copies en phpmyadmin y las corras
directamente en mysql para probar si allí
muestra algo a mejorar
saludos
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, si nadie puede detenerte, te conviertes en algo muy diferente."
Visita piggypon.com
  #5 (permalink)  
Antiguo 15/09/2010, 18:57
Avatar de Perr0  
Fecha de Ingreso: mayo-2005
Ubicación: Santiago de Chile, Chile
Mensajes: 676
Antigüedad: 18 años, 10 meses
Puntos: 79
Respuesta: sumar cantidades semanalmente

No me fije mucho en el tu codigo pero es mas simple de lo que imaginas.

tienes que tener un campo fecha, donde guardes la fecha que trabajas

luego al querer hacer la query tienes primero que fijarte que la fecha del servidor sea la correcta, luego los siguiente:

Código PHP:
//declaramos al nº de la semana que vamos a trabajar
//esto quiere decir los 7 dias que parten del Lunes (sabiendo que año tiene 52 semanas aprox
//12-09-2010 ...Nº semana 36... Domingo
//13-09-2010 ...Nº semana 37... Lunes

$numero_semana=date("W");
//luego obtenemos el dia de la semana
$dia_semana=date("s");
//Para PHP
//0: Domingo, 1: Lunes, 2: Martes,....6: Sábado

//Puedes tener varios años ingresados y te dara una query del 2008,2009,2010,etc...
$year=date("Y"); 

Código PHP:
//CONECTAR BASE DATOS
//Para MySQL
//1: Domingo, 2: Lunes, 3: Martes,....7: Sábado
$dia_semana++;


$consulta="SELECT campo1,campo2,...campoN FROM tabla WHERE WEEK(campo_fecha)=$numero_semana AND DAYOFWEEK(campo_fecha)<=$dia_semana AND YEAR(campo_fecha)=$year";

//DESCONECTAR BASE DATOS 
espero te sirva
salu2

Última edición por Perr0; 15/09/2010 a las 19:10
  #6 (permalink)  
Antiguo 20/09/2010, 09:27
 
Fecha de Ingreso: septiembre-2010
Mensajes: 5
Antigüedad: 13 años, 7 meses
Puntos: 0
Respuesta: sumar cantidades semanalmente

mucha gracias perr0, tienes razon estaba sencillo despues de todo. Gracias por tus consejos, me han servido de mucho amigo!

Etiquetas: mysql
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 20:23.