Código SQL:
Ver original
ALTER PROCEDURE [dbo].[productos_cat] @ref1 nvarchar(50) = NULL, @ref2 nvarchar(50) = NULL, @ref3 nvarchar(50) = NULL, @ref4 nvarchar(50) = NULL, @ref5 nvarchar(50) = NULL, @ref6 nvarchar(50) = NULL, @PageNumber INT AS BEGIN SET NOCOUNT ON; SELECT RXFAM1, RXFAM2, RXFAM3, RXFAM4, RXFAM5, RXFAM6, RXRESC, RXORDE, CPA01, CPA02, CPA03, PSPREC, CPMIS1 FROM (SELECT RXFAM1, RXFAM2, RXFAM3, RXFAM4, RXFAM5, RXFAM6, RXRESC, RXORDE, CPA01, CPA02, CPA03, PSPREC, CPMIS1, ROW_NUMBER() OVER (ORDER BY RXORDE ASC) AS Recursos FROM dbo.Recursos WHERE RXFAM1 = COALESCE(NULLIF(@ref1, ''), RXFAM2) AND RXFAM2 = COALESCE(NULLIF(@ref2, ''), RXFAM2) AND RXFAM3 = COALESCE(NULLIF(@ref3, ''), RXFAM3) AND RXFAM4 = COALESCE(NULLIF(@ref4, ''), RXFAM4) AND RXFAM5 = COALESCE(NULLIF(@ref5, ''), RXFAM5) AND RXFAM6 = COALESCE(NULLIF(@ref6, ''), RXFAM6)) AS Resultados WHERE Recursos BETWEEN 8 * @PageNumber + 1 AND 8 * (@PageNumber + END
Y lo ejecuto en PHP mediante:
Código PHP:
Ver original
$sql = "EXEC dbo.productos_cat @ref1 = '$ref1', @ref2 = '$ref2', @ref3 = '$ref3', @ref4 = '$ref4', @ref5 = '$ref5', @ref6 = '$ref6', @PageNumber = '$pag'";
Necesito contar los registros resultantes de la consulta anterior, y colocar ese numero total de registros en una variable de salida para recuperarla en PHP.
Pude contar los registros utilizando SELECT COUNT (tal vez seria mejor aprovechar el ROW_NUMBER() de la consulta?) pero nunca pude lograr darle salida a la variable y recuperarla en ejecucion del SP que hago en PHP.
Alguna idea, que puedo estar haciendo mal?