12/09/2003, 01:52
|
| | | Fecha de Ingreso: marzo-2003 Ubicación: Eibar (Gipuzkoa)
Mensajes: 455
Antigüedad: 21 años, 8 meses Puntos: 2 | |
Hola;
Creo que es bueno aprender mediante ejemplos, así que aquí debajo te pongo un par de ellos comentados:
Un saludo
Código:
<?php
/*
Conexion a Base de Datos Oracle y ejecución de un procedimiento almacenado que hace un Select,
los datos se presentan en una tabla (los nulos se sustituyen por casillas vacias).
*/
// suppose your stored procedure ENTIDADES.LISTA_SERVIDORES returns a ref cursor in :data
print "<HTML><BODY>";
$db = "metro.dominio.es";
$conn = OCINLogon("mb","mb",$db);
$curs = OCINewCursor($conn);
$stmt = OCIParse($conn,"begin :data:=GET_ENTIDADES.LISTA_LINEAS();end;");
ocibindbyname($stmt,"data",&$curs,-1,OCI_B_CURSOR);
ociexecute($stmt);
ociexecute($curs);
$flag=true;
print "<TABLE BORDER=\"1\">";
//el resultset esta en data que es un conjunto de arrays asociativos
//en el que tambien se devuelven los NULLS al pasarle el parametro OCI_ASSOC+OCI_RETURN_NULLS
while (OCIFetchInto($curs,&$data,OCI_ASSOC+OCI_RETURN_NULLS)) {
//var_dump($data); Esto da como resultado la presentación del array en pantalla
$vector = array_keys($data);
//encabezados de la tabla (solo se hace la primera vez que entro en el bucle)
print "<TR>";
if ($flag) {
$ncols = count($vector);
for ( $i = 0; $i <= $ncols-1; $i++ ) {
$column_name = $vector[$i];
print "<TD><B>". $column_name ."</B></TD>";
}
print "</TR>";
$flag=false;
}
//esto lo hago para cada uno de los arrays
print "<TR>";
for ( $i = 0; $i <= $ncols-1; $i++ ) {
$clave = $vector[$i];
if ($data[$clave]==NULL){
$column_value = " ";
}else{
$column_value = $data[$clave];
}
print "<TD>". $column_value ."</TD>";
}
print "</TR>";
}
print "</TABLE>";
print "</BODY></HTML>";
OCIFreeCursor($stmt);
OCIFreeStatement($curs);
OCILogoff($conn);
?>
Código:
<?php
/*
Conexion a Base de Datos Oracle y ejecución de un procedimiento almacenado que hace un Insert,
el procedimiento devuelve un valor autonumerico con el ID del nuevo Servidor insertado.
*/
// suppose your stored procedure info.output returns a ref cursor in :data
print "<HTML><BODY>";
$db = "metro.dominio.es";
$conn = OCINLogon("metro","metro",$db);
$stmt = OCIParse($conn,"begin :data:=GESTION_SERVIDORES.INSERTAR_SERVIDOR('999','888','888','888','888','888');end;");
$retorno = OCINewDescriptor($conn);
ocibindbyname($stmt,":data",&$retorno,10);
ociexecute($stmt);
print "VALOR RETORNADO POR LA FUNCION GESTION_SERVIDORES.INSERTAR_SERVIDOR " . $retorno;
OCIFreeStatement($stmt);
OCILogoff($conn);
?>
__________________ ¿Por qué Uri Geller doblaba cucharas? |