odbc_fetch_row SQL
Publicado por Jose Quintana (6 intervenciones) el 06/09/2011 20:41:40
Buenos dias estoy consultando una base de datos para hacer un reporte.
si hago la consulta desde sqlserver me trae el siguiente resultado correcto:
0150 Sueldo Quincenal 3869 0
1330 S.S.O Quincenal 0 112,97
1332 L.R.P.E Quincenal 0 17,86
1334 L.R.P.V.H. Quincenal 0 38,69
1357 I.S.L.R. % 0 63,06
pero al hacerlo desde php me viene vacio. yo creo que es el odbc_fetch_row que como la consulta es una sumatoria no trae nada. si me pueden ayudar se los agradeceria enormemente.
Aqui les dejo el codigo ques estoy usando:
<?php
$dsn = "Driver={SQL Server};Server=winledger;Database=winledger;Integrated Security=SSPI;Persist Security Info=False;";
$conn = odbc_connect( $dsn, 'winledgeruser', 'master' );
if (!$conn) { exit( "Error al conectar: " . $conn);
}
$sql = "select concepto ,nlargo ,sum(REMUNERACIONES) as Remuneraciones,SUM(DEDUCCIONES) AS Deducciones from (
select nompagh.codigo,nompagh.concepto
, case nomtcon.tipo when 1 then nompagh.importe else 0 end as REMUNERACIONES
, case nomtcon.tipo when 2 then nompagh.importe else 0 end as DEDUCCIONES
,nomtcon.tipo,nomtcon.nlargo,nomeocf.apellidos,nomeocf.nombres
from nompagh inner join nomtcon on nompagh.concepto=nomtcon.concepto and nompagh.cia=nomtcon.cia and nompagh.tiponomina=nomtcon.tiponomina and (nomtcon.tipo=1 or nomtcon.tipo=2)
inner join nomeocf on nompagh.codigo=nomeocf.codigo and nompagh.cia=nomeocf.cia and nompagh.tiponomina=nomeocf.tiponomina
where nompagh.cia='zzz' and nompagh.tiponomina='E' and nompagh.desde>='16/09/2010'
and nompagh.HASTA<='30/09/2010' ) as tablax group by concepto,nlargo";
//Comprobacion QUERY
$rs = odbc_exec($conn, $sql);
if ( !$rs ) { exit( "Error en la consulta SQL" ); }
echo"<table width=700 border=1 align=center cellpadding=0 cellspacing=0>
<tr>
<td><b>Codigo</b></td><td><b>Concepto</b></td><td><b>Remuneraciones</b></td><td><b>Deducciones</b></td>
</tr>";
odbc_fetch_row($rs,0);
while($row=odbc_fetch_row($rs))
{
echo"<tr>
<td>$row[1]</td><td>$row[2]</td><td>$row[3]</td><td>$row[4]</td>
</tr>";
}
echo"</table>";
echo"</table>";
// Se cierra la conexión
odbc_close( $conn );
?>
</body>
</html>
Muchas gracias por su tiempo.
si hago la consulta desde sqlserver me trae el siguiente resultado correcto:
0150 Sueldo Quincenal 3869 0
1330 S.S.O Quincenal 0 112,97
1332 L.R.P.E Quincenal 0 17,86
1334 L.R.P.V.H. Quincenal 0 38,69
1357 I.S.L.R. % 0 63,06
pero al hacerlo desde php me viene vacio. yo creo que es el odbc_fetch_row que como la consulta es una sumatoria no trae nada. si me pueden ayudar se los agradeceria enormemente.
Aqui les dejo el codigo ques estoy usando:
<?php
$dsn = "Driver={SQL Server};Server=winledger;Database=winledger;Integrated Security=SSPI;Persist Security Info=False;";
$conn = odbc_connect( $dsn, 'winledgeruser', 'master' );
if (!$conn) { exit( "Error al conectar: " . $conn);
}
$sql = "select concepto ,nlargo ,sum(REMUNERACIONES) as Remuneraciones,SUM(DEDUCCIONES) AS Deducciones from (
select nompagh.codigo,nompagh.concepto
, case nomtcon.tipo when 1 then nompagh.importe else 0 end as REMUNERACIONES
, case nomtcon.tipo when 2 then nompagh.importe else 0 end as DEDUCCIONES
,nomtcon.tipo,nomtcon.nlargo,nomeocf.apellidos,nomeocf.nombres
from nompagh inner join nomtcon on nompagh.concepto=nomtcon.concepto and nompagh.cia=nomtcon.cia and nompagh.tiponomina=nomtcon.tiponomina and (nomtcon.tipo=1 or nomtcon.tipo=2)
inner join nomeocf on nompagh.codigo=nomeocf.codigo and nompagh.cia=nomeocf.cia and nompagh.tiponomina=nomeocf.tiponomina
where nompagh.cia='zzz' and nompagh.tiponomina='E' and nompagh.desde>='16/09/2010'
and nompagh.HASTA<='30/09/2010' ) as tablax group by concepto,nlargo";
//Comprobacion QUERY
$rs = odbc_exec($conn, $sql);
if ( !$rs ) { exit( "Error en la consulta SQL" ); }
echo"<table width=700 border=1 align=center cellpadding=0 cellspacing=0>
<tr>
<td><b>Codigo</b></td><td><b>Concepto</b></td><td><b>Remuneraciones</b></td><td><b>Deducciones</b></td>
</tr>";
odbc_fetch_row($rs,0);
while($row=odbc_fetch_row($rs))
{
echo"<tr>
<td>$row[1]</td><td>$row[2]</td><td>$row[3]</td><td>$row[4]</td>
</tr>";
}
echo"</table>";
echo"</table>";
// Se cierra la conexión
odbc_close( $conn );
?>
</body>
</html>
Muchas gracias por su tiempo.
Valora esta pregunta
0