Contacto | #php_para_torpes | Enlázanos | ¿Quiénes somos?
32 usuarios Online (0)
Darse de alta en la web | Recuperar password   
Inicio / Foros / PHP / Filtro x mes y resultado sumatoria de columna
2 respuestas recibidas | 45 visitas | Categoría PHP

Filtro x mes y resultado sumatoria de columna

Avatar de skapado
Nivel 1 Nivel 1 Nivel 1 Nivel 1 Nivel 1 Nivel 1 Nivel 1

(Nivel 1 - 3 posts)

#0 Offline skapado Usuario hace 3días 20h  
Sres, ante todo gracias por leer el post.
Les presento mi problema, se tratan de 2.
El primero, es que quisiera que la pagina filtrara solo por mes y año, no tengo idea de como hacerlo
El segundo es que necesitaria que haya un campo donde muestre la sumatoria de una columa. Como decirlo, hacer una sumatoria de una columna ( en este caso la columna total) y que aparezca en un campo.
La consulta esta hecha en sql, y la pagina en php. mostraria una serie de registros los cuales tiene cada uno un campo llamado total filtrado por fecha. La idea es que ese filtro muestre el total de las lineas que aparecen en la pantalla.
Les dejo el codigo debajo para que tengan una idea de lo que estoy hablando.

Gracias a todos de antemano



<?php
if (isset($_COOKIE["nombre"]))
{
$aux1= $_COOKIE["nombre"];
$cod=$_COOKIE["codigo"];
}
else
{
?>
<script language="javascript" text="text/javascript">
window.self.location.href="/clientes";
</script>
<?php
}
?>
<!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>
<style type="text/css">
<!--
.Estilo7 {font-size: 10px; font-family: Verdana, Arial, Helvetica, sans-serif; }
.Estilo9 {font-size: 18px}
.Estilo39 {color: #FFFFFF; font-size: 9px; font-family: Arial, Helvetica, sans-serif; }
.Estilo41 {font-family: Arial, Helvetica, sans-serif; font-size: 9px; }
.Estilo49 {font-size: 10px; font-family: Verdana, Arial, Helvetica, sans-serif; font-weight: bold; }
-->
</style>
</head>

<body>
<form id="form1" name="form1" method="post" action="">
<label></label>
<table width="374" border="0" cellspacing="0">
<tr>
<th width="174" align="right" scope="col"> <span class="Estilo7">
<select name="dia" size="1" class="Estilo7" id="dia">
<?php
if (isset($_POST["dia"]))
{
for($i=1;$i<=31;$i++)
{
if ($_POST["dia"]==$i)
{
echo "<option value=\"$i\" selected='selected'>$i</option>";
}
else
{
echo "<option value=\"$i\">$i</option>";
}
}
}
else
{
for($i=1;$i<=31;$i++)
{
if (date("d")==$i)
{
echo "<option value=\"$i\" selected='selected'>$i</option>";
}
else
{
echo "<option value=\"$i\">$i</option>";
}
}
}
?>
</select>
<span class="Estilo9">/</span>
<select name="mes" size="1" class="Estilo7" id="mes">
<?php
if (isset($_POST["mes"]))
{
for($i=1;$i<=12;$i++)
{
if ($_POST["mes"]==$i)
{
echo "<option value=\"$i\" selected='selected'>$i</option>";
}
else
{
echo "<option value=\"$i\">$i</option>";
}
}
}
else
{
for($i=1;$i<=12;$i++)
{
if (date("m")==$i)
{
echo "<option value=\"$i\" selected='selected'>$i</option>";
}
else
{
echo "<option value=\"$i\">$i</option>";
}
}
}
?>
</select>
<span class="Estilo9">/</span>
<select name="a&ntilde;o" size="1" class="Estilo7" id="select3">
<option value="08" selected="selected">08</option>
</select>
</span></th>
<th width="126" align="right" scope="col"> <span class="Estilo7">Fecha
Búsqueda:</span></th>
<th width="4" scope="col">&nbsp;</th>
<th width="62" align="left" valign="middle" scope="col"><div align="left">
<input name="Buscar" type="submit" id="Buscar" value="Buscar" />
</div></th>
</tr>
</table>
</form>
<table width="99%" border="1" cellspacing="0" bordercolor="#000000">
<tr>
<th width="3%" bgcolor="#FF6634" scope="col"><span class="Estilo39">N&ordm; Albaran </span></th>
<th width="4%" bgcolor="#FF6634" scope="col"><span class="Estilo39">Referencia</span></th>
<th width="3%" bgcolor="#FF6634" scope="col"><span class="Estilo39">Estado</span></th>
<th width="4%" bgcolor="#FF6634" scope="col"><span class="Estilo39">Reembolso</span></th>
<th width="3%" bgcolor="#FF6634" scope="col"><span class="Estilo39">Servicio</span></th>
<th width="9%" bgcolor="#FF6634" scope="col"><span class="Estilo39">Destino</span></th>
<th width="30%" bgcolor="#FF6634" scope="col"><span class="Estilo39">Incidencias</span></th>
<th width="19%" bgcolor="#FF6634" scope="col"><span class="Estilo39">Observaciones</span></th>
<th width="2%" bgcolor="#FF6634" scope="col"><span class="Estilo39">Mont.</span></th>
<th width="3%" bgcolor="#FF6634" scope="col"><span class="Estilo39">Rec.</span></th>
<th width="6%" bgcolor="#FF6634" scope="col"><span class="Estilo39">Cam.</span></th>
<th width="14%" bgcolor="#FF6634" scope="col"><span class="Estilo39">Total</span></th>
</tr>
<?php
$conectID=odbc_connect("eci","sa","sa");
$fecha=$_POST[dia] . "/" . $_POST[mes] . "/" . $_POST[año];
if ($fecha=="//") $fecha=date("d") . "/" . date("m") . "/" . date("y");
$sql="SELECT car.estado AS Estado, car.referencia AS Referencia, car.reembolso / 100 AS Reembolso, car.codigocarga AS codigocarga, car.servicio AS Servicio,
car.destille + ' ( ' + pob.poblacion + ' ) ' AS Destino, inc.incidencia AS Incidencia, car.observaciones AS Observaciones, car.devolucion AS Cambio,
car.montaje AS Montaje, car.recogerusado AS Recogerusado, car.total / 100 as Total
FROM dbo.poblacion pob RIGHT OUTER JOIN
dbo.carga car ON pob.codigopoblacion = car.codigopoblalle LEFT OUTER JOIN
dbo.incidencias inc ON inc.codigocarga = car.codigocarga AND inc.codigoincidencia IN
(SELECT MAX(codigoincidencia) AS codigo
FROM incidencias AS ince
WHERE ince.codigocarga = car.codigocarga
GROUP BY codigocarga) WHERE car.codigocliente/100=$cod and fechalle='$fecha'";
$result=odbc_exec($conectID,$sql)or die(exit("Error en odbc_exec"));
while ($row=odbc_fetch_array($result))
{?>
<tr>
<td><span style="font-family: Arial, Helvetica, sans-serif; font-size: 10px;">&nbsp;<?php echo substr($row['codigocarga'],0,strlen($row['codigocarga'])-3) . '/' . substr($row['codigocarga'],strlen($row['codigocarga'])-3,strlen($row['codigocarga'])); ?></span></td>
<td><span class="Estilo41">&nbsp;<?php echo $row['Referencia']; ?></span></td>
<td><span class="Estilo41">&nbsp;<?php echo $row['Estado']; ?></span></td>
<td><span class="Estilo41">&nbsp;<?php echo $row['Reembolso']; ?></span></td>
<td><span class="Estilo41">&nbsp;<?php echo $row['Servicio']; ?></span></td>
<td><span class="Estilo41">&nbsp;<?php echo $row['Destino']; ?></span></td>
<td><span class="Estilo41">&nbsp;<?php echo $row['Incidencia']; ?></span></td>
<td><span class="Estilo41">&nbsp;<?php echo $row['Observaciones']; ?></span></td>
<td><span class="Estilo41">&nbsp;
<?php if ($row['Montaje']==1) echo "X"; ?>
</span></td>
<td><span class="Estilo41">&nbsp;
<?php if ($row['Recogerusado']==1) echo "X"; ?>
</span></td>
<td><span class="Estilo41">&nbsp;
<?php if ($row['Cambio']==1) echo "X"; ?>
</span></td>
<td><span class="Estilo49">&nbsp;<?php echo $row['Total']; ?></span></td>
</tr>
<?php
}
odbc_close($conectID);
?>
</table>
<p>&nbsp;</p>
</body>
</html>

Re: Filtro x mes y resultado sumatoria de columna

Avatar de skapado
Nivel 1 Nivel 1 Nivel 1 Nivel 1 Nivel 1 Nivel 1 Nivel 1

(Nivel 1 - 3 posts)

#1 Offline skapado Usuario hace 1día 4h  
Alguien me puede darme una mano.. ??

para ayudarte ...

Avatar de jurena
Nivel 5 Nivel 5 Nivel 5 Nivel 5 Nivel 5 Nivel 5 Nivel 5

(Nivel 5 - 735 posts)

#2 Offline jurena Usuario hace 1día 1h  
mejor di la estructura de tus tablas, ejemplifica con algún dato sobre lo que tienes y qué quieres sacar, y dinos qué consulta tienes, pues por lo que yo veo tu consulta con left outer join y right outer join me parece extraña. Una vez resuelto el problema de la consulta, lo demás tendrá fácil solución con PHP y HTML.

Las sumas se hacen con SUM y GROUP BY, pero si agrupas ya por un dato distinto al de otro de la consulta, quizás tendrás que recurrir a dos consultas. Normalmente, se suelen hacer dos consultas: una para mostrar los datos y la otra de agrupación, para sacar totales, ese decir, COUNT, SUM, etc.

Responder mensaje

Para poder participar debes estar registrado e identificado. Si no estás registrado como usuario de PHP-Hispano, :: Registrar ::
Login / Password   

Web alojada en Zilos

php-hispano.net 2002 - 2008 | XHTML 1.0
Datos Legales | Webmaster