Consulta a través de un rango de fechas

Antes que nada muchas gracias por tu tiempo y ojala me puedas ayudar.

Mira tengo un problema necesito que introduzcan dos rangos de fechas y que les muestre el resultado del query pero no se como hacerlo tengo este código:

<?php require_once ("conectar.php"); $hoy=date("Y-m-d"); ?>
<html> <head> <meta http-equiv="content-type" content="text/html;charset=ISO-8859-1"> <link rel="shortcut icon" href="dn.ico" type="image/x-icon" /> <meta http-equiv="content-type" content="text/html; charset=iso-8859-1"/> <meta name="description" content="description"/> <meta name="keywords" content="keywords"/> <meta name="author" content="author"/> <title>Ventas</title> <?php include("calendario.php"); ?> <script language="JavaScript" src="calendario.js"></script> </head>
<body> <h1 style="color:#336699">Ventas</h1> Seleccione el período que se requiere la consulta. <br> <br> <br> <form name="fcalen"> Fecha inicio: <input name="fecha1" type="text" id="fecha" size="10" style="cursor:text" onClick="ds_sh(this);" readonly="readonly" value=" <?php echo $hoy; ?>"> <br> Fecha final: <input name="fecha2" type="text" id="fecha" size="10" style="cursor:text" onClick="ds_sh(this);" readonly="readonly" value=" <?php echo $hoy; ?>"> <input type="submit" name="ejecutar" value="ejecutar"> <br> <hr> <table border="1"> <tr> <tr bgcolor="#336699"> <td><font color="#FFFFFF">Pedido</font></td> <td><font color="#FFFFFF">Cliente</font></td> <td><font color="#FFFFFF">Vendedor</font></td> <td><font color="#FFFFFF">Fecha Creación</font></td> <td><font color="#FFFFFF">Coord Ventas</font></td> <td><font color="#FFFFFF">Coord Planta</font></td> <td><font color="#FFFFFF">Venta</font></td> <td><font color="#FFFFFF">Referencia</font></td> <td><font color="#FFFFFF">Categoría</font></td> <td><font color="#FFFFFF">Cantidad</font></td> </tr> <?php $sql="SELECT _NoLock_FS_COHeader.CONumber, _NoLock_FS_Customer.CustomerName, _NoLock_FS_COHeader.CSR, _NoLock_FS_COHeader.COCreatedDate, _NoLock_FS_COHeader.CarrierName, _NoLock_FS_COHeader.FOBPoint, sum(_NoLock_FS_COLine.ItemOrderedQuantity * _NoLock_FS_COLineData.ItemControllingNetUnitPrice) AS Venta, _NoLock_FS_COHeader.COReference, _NoLock_FS_COHeader.SalesCategory1, sum(_NoLock_FS_COLine.ItemOrderedQuantity) as CantTotal FROM _NoLock_FS_COHeader INNER JOIN _NoLock_FS_COLine ON _NoLock_FS_COHeader.COHeaderKey = _NoLock_FS_COLine.COHeaderKey INNER JOIN _NoLock_FS_Customer ON _NoLock_FS_COHeader.CustomerKey = _NoLock_FS_Customer.CustomerKey INNER JOIN _NoLock_FS_COLineData ON _NoLock_FS_COLine.COLineKey = _NoLock_FS_COLineData.COLineKey WHERE (_NoLock_FS_COHeader.COCreatedDate > CONVERT(DATETIME, '$fecha1', 102) AND _NoLock_FS_COHeader.COCreatedDate < CONVERT(DATETIME, '$fecha2', 102)) GROUP BY _NoLock_FS_COHeader.CONumber, _NoLock_FS_Customer.CustomerName, _NoLock_FS_COHeader.CSR, _NoLock_FS_COHeader.COCreatedDate, _NoLock_FS_COHeader.CarrierName, _NoLock_FS_COHeader.FOBPoint, _NoLock_FS_COHeader.COReference, _NoLock_FS_COHeader.SalesCategory1"; echo $sql;
$res=odbc_exec($cnnFS,$sql); while (odbc_fetch_row($res)) { $fch=date_create(odbc_result($res,"COCreatedDate")); ?> <tr> <td><?php echo odbc_result($res,"CONumber"); ?></td> <td><?php echo odbc_result($res,"CustomerName"); ?></td> <td><?php echo odbc_result($res,"CSR"); ?></td> <td><?php echo date_format($fch,"Y-m-d"); ?></td> <td><?php echo odbc_result($res,"CarrierName"); ?></td> <td><?php echo odbc_result($res,"FOBPoint"); ?></td> <td><?php echo odbc_result($res,"Venta"); ?></td> <td><?php echo odbc_result($res,"COReference"); ?></td> <td><?php echo odbc_result($res,"SalesCategory1"); ?></td> <td><?php echo odbc_result($res,"CantTotal"); ?></td> </tr> <?php }; odbc_close($cnnFS); ?> </table>
</form>
</body> </html>

Quiero que después de que el usuario introduzca la fecha inicial y la fecha final la consulta se ejecute pero no se como hacerlo :(

1 respuesta

Respuesta
1

Imposible tratar de comprender tu código, como seguro entenderás... pero te paso un link que seguramente te pueda ayudar:

http://stackoverflow.com/questions/2007929/date-range-query-mysql

Muchas gracias. Pongo el código para futuros interesados. Saludos.

//Obtengo las fechas de un cuadro de texto

$fecha1=$_GET['fecha1'];

$fecha2=$_GET['fecha2'];

// Las coloco en mi sentencia de sql

$sql="SELECT _NoLock_FS_COHeader.CONumber, _NoLock_FS_Customer.CustomerName, _NoLock_FS_COHeader.CSR, _NoLock_FS_COHeader.COCreatedDate, _NoLock_FS_COHeader.CarrierName, _NoLock_FS_COHeader.FOBPoint, sum(_NoLock_FS_COLine.ItemOrderedQuantity * _NoLock_FS_COLineData.ItemControllingNetUnitPrice) AS Venta, _NoLock_FS_COHeader.COReference, _NoLock_FS_COHeader.SalesCategory1, sum(_NoLock_FS_COLine.ItemOrderedQuantity) as CantTotal FROM _NoLock_FS_COHeader INNER JOIN _NoLock_FS_COLine ON _NoLock_FS_COHeader.COHeaderKey = _NoLock_FS_COLine.COHeaderKey INNER JOIN _NoLock_FS_Customer ON _NoLock_FS_COHeader.CustomerKey = _NoLock_FS_Customer.CustomerKey INNER JOIN _NoLock_FS_COLineData ON _NoLock_FS_COLine.COLineKey = _NoLock_FS_COLineData.COLineKey WHERE (_NoLock_FS_COHeader.COCreatedDate > CONVERT(DATETIME, '$fecha1', 102) AND _NoLock_FS_COHeader.COCreatedDate < CONVERT(DATETIME, '$fecha2', 102)) GROUP BY _NoLock_FS_COHeader.CONumber, _NoLock_FS_Customer.CustomerName, _NoLock_FS_COHeader.CSR, _NoLock_FS_COHeader.COCreatedDate, _NoLock_FS_COHeader.CarrierName, _NoLock_FS_COHeader.FOBPoint, _NoLock_FS_COHeader.COReference, _NoLock_FS_COHeader.SalesCategory1";

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas