Hola a todos,
Necesito ayuda plis, el problema es que estoy migrando un codigo de ASP a PHP y para php estamos usando ADODB para crear la coneccion con la base de datos oracle, pero el problema es que las funciones me estan dando problemas, como el MoveNext() por ejemplo, no las reconoce y no se que es lo que pasa..
Les dejo los codigos para que me puedan ayudar plis...
ASP:
Código ASP:
Ver original<%
Response.ContentType="text/xml"
Response.Write("<?xml version='1.0' encoding='iso-8859-1'?>")
%>
<%
' SC4Consulta_datos_negocio.asp
' Generador de XML para las refacturaciones listadas por la consulta de Clientes Opcion Otros Negocios
AbreConn()
Set RS = Server.CreateObject("ADODB.Recordset")
NroSuministro = 2648727' request("suministro")
SQL = " SELECT cor_documento correlativo, "
SQL = SQL & " nro_documento nro_documento,"
SQL = SQL & " tip_documento tipo_documento,"
SQL = SQL & " TO_CHAR (fec_documento, 'dd/mm/yyyy') fecha_emision,"
SQL = SQL & " TO_CHAR (fec_vencimiento, 'dd/mm/yyyy') fecha_vencimiento,"
SQL = SQL & " tot_documento total, "
SQL = SQL & " usuario_aprobador aprobador,"
SQL = SQL & " fec_documento fec"
SQL = SQL & " FROM nucssb0030 nuc30"
SQL = SQL & " WHERE cod_empresa = "&SysEmpresa&" AND nro_suministro = "&NroSuministro&" AND tip_documento = 'ON'"
SQL = SQL & " UNION"
SQL = SQL & " SELECT cor_documento correlativo, "
SQL = SQL & " nro_documento nro_documento,"
SQL = SQL & " tip_documento tipo_documento,"
SQL = SQL & " TO_CHAR (fec_documento, 'dd/mm/yyyy') fecha_emision,"
SQL = SQL & " TO_CHAR (fec_vencimiento, 'dd/mm/yyyy') fecha_vencimiento,"
SQL = SQL & " tot_documento total, "
SQL = SQL & " usuario_aprobador aprobador,"
SQL = SQL & " fec_documento fec"
SQL = SQL & " FROM hisssb0004"
SQL = SQL & " WHERE cod_empresa = "&SysEmpresa&" AND nro_suministro = "&NroSuministro&" AND tip_documento = 'ON'"
SQL = SQL & " ORDER BY fec DESC"
SET RS = DBTO.EXECUTE(SQL)
Escribe("<registro>")
DO WHILE NOT RS.EOF
Escribe ("<linea>")
for i = 0 to RS.fields.Count - 1
Escribe ("<"&lcase(rs.fields(i).name)&">" & RS(i) & "</"&lcase(rs.fields(i).name)&">")
next
Escribe ("</linea>")
RS.MOVENEXT
LOOP
Escribe("</registro>")
CierraConn()
%>
PHP:
Código PHP:
Ver original<?php
include ("conn.php"); # INCLUIR CLASE DE CONEXION
@header('Content-type: text/xml'); echo("<?xml version='1.0' encoding='iso-8859-1'?>");
# DEFINICION DE VARIABLES
$i = "";
$RS = "";
$fld = "";
$num_columns = "";
$NroSuministro = $_POST['suministro'];
#$consul= ="";
$SysEmpresa = 1;
$SQL = "";
$SQL = $SQL . "SELECT cor_documento correlativo, ";
$SQL = $SQL . "nro_documento nro_documento, ";
$SQL = $SQL . "tip_documento tipo_documento, ";
$SQL = $SQL . "TO_CHAR (fec_documento, 'dd/mm/yyyy') fecha_emision, ";
$SQL = $SQL . "TO_CHAR (fec_vencimiento, 'dd/mm/yyyy') fecha_vencimiento, ";
$SQL = $SQL . "tot_documento total, ";
$SQL = $SQL . "usuario_aprobador aprobador, ";
$SQL = $SQL . "fec_documento fec ";
$SQL = $SQL . "FROM nucssb0030 nuc30";
$SQL = $SQL . "WHERE cod_empresa = ".$SysEmpresa. " " ;
$SQL = $SQL . "AND nro_suministro = ".$NroSuministro." ";
$SQL = $SQL . "AND tip_documento = 'ON' ";
$SQL = $SQL . "UNION ";
$SQL = $SQL . "SELECT cor_documento correlativo, ";
$SQL = $SQL . "nro_documento nro_documento, ";
$SQL = $SQL . "tip_documento tipo_documento, ";
$SQL = $SQL . "TO_CHAR (fec_documento, 'dd/mm/yyyy') fecha_emision, ";
$SQL = $SQL . "TO_CHAR (fec_vencimiento, 'dd/mm/yyyy') fecha_vencimiento, ";
$SQL = $SQL . "tot_documento total, ";
$SQL = $SQL . "usuario_aprobador aprobador, ";
$SQL = $SQL . "fec_documento fec ";
$SQL = $SQL . "FROM hisssb0004 ";
$SQL = $SQL . "WHERE cod_empresa = ".$SysEmpresa." ";
$SQL = $SQL . "AND nro_suministro = ".$NroSuministro." ";
$SQL = $SQL . "AND tip_documento = 'ON' ";
$SQL = $SQL . "ORDER BY fec DESC ";
#$SQL = $SQL . "SELECT * FROM CCC";
#$SQL = $SQL . "SELECT nombre, direccion FROM CCC";
# EJECUTA LA CONSULTA
$RS = $DB->Execute($SQL);
#CUENTA CUANTOS REGISTROS TE TRAJO LA CONSULTA Y LOS GUARDA EN UNA VARIABLE
$num_columns = $RS->RecordCount(); /* contamos el total de registros de resultado */
echo ("SE OBTUVIERON ".$num_columns . "CAMPOS<br>"); #MUESTRA LA CANTIDAD DE REGISTROS EN UN MENSAJE
# CARGA LOS DATOS EN UN BUCLE
for ($i=0; $i < $num_columns; $i++) {
$fld[$i] = $RS->Fields($i);
echo("MENSAJE"." ".$fld[$i]."OK");
}
# ESCRIBE EN EL DOCUMENTO XML
echo("<registro>");
#RECORRE EL BUCLE
while (!$RS->EOF)
{
echo "<tr>";
for ($i=0; $i < $num_columns; $i++)
{
echo "<td>" . $fld[$i]->value . "</td>"; #ESCRIBE EL VALOR DEL REGISTRO EN LA COLUMNA Y FILA CORRESPONDIENTE
}
echo "</tr>";
#PASA AL SIGUIENTE REGISTRO
$RS->MoveNext();
}
#SE CIERRA LA CONEXION
$conn->close();
#SE LIMPIAN LAS VARIABLES
$RS = null;
$conn = null;
?>
Cualquier informacion me la piden :D
Saludos