Hola estoy realizando una pagina en PHP, en la cual tengo una conexion a una base SQL y uso el sqlsrv, todo va bien cuando uso sentencias simples, pero cuando intento recibir datos de un SELECT que se encuentra en un procedimiento almacenado no me genera ningun dato.
El codigo de mi proceso almacenado es el siguiente:
==================================================
=================================================
y mi codigo php es el siguiente:
por favor ayudenme ya que llevo dias buscando en internet y no enucentro ninguna solucion.
El codigo de mi proceso almacenado es el siguiente:
==================================================
Código (sql) [Seleccionar]
ALTER PROCEDURE [dbo].[comparar_ventas_meses]
@f_inicio as date,
@f_fin as date,
@gestora as nvarchar(100)
as
begin
select MONTH(SalesDate) AS mes, sum(paytotal) as VENTA_ACT, 0 AS VENTA_ANT
into #tmpResumen
from _RetailData..RECEIPT
inner join _RetailData..STORE on RECEIPT.StoreNo = store.StoreNo
WHERE CAST(SalesDate as date) between @f_inicio and @f_fin
and RECEIPT.StatusCode = 'A'
and RECEIPT.SalesCode in ('S', 'R')
AND STORE.ActiveStatus=1
and STORE.StoreNo in (select idtienda from Administrator..tbgestoras_tienda where idgestora =@gestora)
group by MONTH(SalesDate)
union all
select MONTH(SalesDate) AS mes, 0 as VENTA_ACT, sum(paytotal) as VENTA_ANT from _RetailData..RECEIPT
inner join _RetailData..STORE on RECEIPT.StoreNo = store.StoreNo
WHERE CAST(SalesDate as date) between DATEADD(DD, -365, @f_inicio) and DATEADD(DD, -365, @f_fin)
and RECEIPT.StatusCode = 'A'
and RECEIPT.SalesCode in ('S', 'R')
AND STORE.ActiveStatus=1
and STORE.StoreNo in (select idtienda from Administrator..tbgestoras_tienda where idgestora =@gestora)
group by MONTH(SalesDate)
SELECT mes, CAST(sum(venta_act) as decimal(18,2)) as actual, cast(sum(venta_ant) as decimal(18,2)) as anterior, CAST((sum(venta_act)/sum(venta_ant) -1) * 100 as decimal(18,2) as crecimiento from #tmpResumen
group by mes
having not (sum(venta_act) = 0
and sum(venta_ant) = 0)
end
=================================================
y mi codigo php es el siguiente:
Código (php) [Seleccionar]
$f_inicial ='01/01/'.(date("Y"));
$f_final = date("d/m/Y");
$gestora='pescobar';
$mes=0;
$actual=0;
$anterior=0;
$crecimiento=0;
include ("seguro.php");
global $HOSTNAME, $USERNAME, $PASSWORD, $DATABASE;
$info = array('Database'=>'Adicional', 'UID'=>$USERNAME, 'PWD'=>$PASSWORD);
$conexion = sqlsrv_connect($HOSTNAME, $info);
$sql_preg="EXEC comparar_ventas_meses ?, ?, ?";
$params = array(
&$f_inicial,
&$f_final,
&$gestora);
$registros = sqlsrv_prepare( $conexion,$sql_preg, $params);
if (sqlsrv_execute($registros))
{
while ($id= sqlsrv_fetch_array($registros))
{
echo $id['actual'];
}
} else
{
die( print_r( sqlsrv_errors(), true));
}
por favor ayudenme ya que llevo dias buscando en internet y no enucentro ninguna solucion.