Foros del Web » Programando para Internet » PHP »

construir una tabla dinámica en php con oracle

Estas en el tema de construir una tabla dinámica en php con oracle en el foro de PHP en Foros del Web. Hola: Necesito construir una tabla dinámica en php que tome los datos de las filas y las columnas de una consulta en oracle. Ya logré ...
  #1 (permalink)  
Antiguo 04/04/2011, 09:11
 
Fecha de Ingreso: julio-2010
Mensajes: 64
Antigüedad: 14 años, 4 meses
Puntos: 1
construir una tabla dinámica en php con oracle

Hola:
Necesito construir una tabla dinámica en php que tome los datos de las filas y las columnas de una consulta en oracle.
Ya logré hacer esto mismo para SQL con el siguiente codigo :
<?php
//conexion a SQL
$link = mssql_connect('SQ','list','list');
mssql_select_db('Tec', $link);

// Query to execute para extraer todos los datos por provincias

$query = mssql_query("SELECT ticket.ticketk AS 'REPORTE', ticket.titulo AS 'TÍTULO', ticket.lugar AS 'LUGAR', depart.departname AS 'RESPONSABLE'
FROM Tec.list.depart depart, TecnicaInstalada.list.ticket ticket
WHERE depart.departk = ticket.responsable AND ((ticket.paclave=343) AND (ticket.estado<>100))
ORDER BY ticket.ticketk", $link);
$row = mssql_fetch_row($query);
//$tantos= mssql_num_rows($query);
$filas = mssql_num_rows($query);
$columnas = mssql_num_fields($query);



echo "<table border='1'>";
echo "<TR>";
echo "<td width='72' bgcolor='#663300' class='style5'><div align='center' class='style7'>No</div></td> ";
echo "<td width='72' bgcolor='#663300' class='style5'><div align='center' class='style7'>Reporte</div></td> ";
echo "<td width='72' bgcolor='#663300' class='style5'><div align='center' class='style7'>Título</div></td>";
echo "<td width='72' bgcolor='#663300' class='style5'><div align='center' class='style7'>Lugar</div></td>";
echo "<td width='72' bgcolor='#663300' class='style5'><div align='center' class='style7'>Responsable</div></td>";
echo "</TR>\n";


for ($i=0; $i<$filas; $i++)
{

echo "<TR>";
echo "<TD ALIGN='CENTER' BGCOLOR='white' class='style12'>";
$num = $i+1;
echo " $num ";
echo "</TD>";
for ($j=0; $j<$columnas; $j++)
{
echo "<TD ALIGN='CENTER' BGCOLOR='white' class='style12'>";
$valor = mssql_result($query, $i, $j);
echo " $valor ";
echo "</TD>";
}
echo "</TR>\n";
}
echo "</TABLE>";
echo "<BR>";
//echo "<HR>";
//echo "Total de Reportes: $filas";
//echo "<HR>";
mssql_free_result($query);
?>

el problema es que cuando trato de simular este codigo para oracle la funcion oci_result, solo me permite pasarle 2 parámetros y no tres, por tanto solo obtengo una fila y no todas. Alguien sabe como puedo solucionar esto?
  #2 (permalink)  
Antiguo 04/04/2011, 09:22
 
Fecha de Ingreso: julio-2010
Mensajes: 64
Antigüedad: 14 años, 4 meses
Puntos: 1
Respuesta: construir una tabla dinámica en php con oracle

Este es mi codigo para oracle:
<?php
include('adodb/adodb.inc.php');
include('adodb/adodb-error.inc.php');
$db =" (DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP) (HOST =sigestopbl4-vip.corp.cubacel.com)(PORT = 1521))
(CONNECT_DATA= (SID = STAT1))
)
";
$odbc = ocilogon ('ad', 'Ad, $db) or die( "Could not connect to Oracle database!");
if ($odbc == false){
$msg = OCIError($odbc)."<BR>";}
$query = oci_parse($odbc, "select ID, CODE, NODE_DESC from STATDBA.EXCHANGE_ID");

oci_execute($query);
$inc=0;
$row = oci_fetch_row($query);
$filas = oci_num_rows($query);
$columnas = oci_num_fields($query);

echo "<table border='1'>";
echo "<TR>";
echo "<td width='72' bgcolor='#663300' class='style5'><div align='center' class='style7'>No</div></td> ";
echo "<td width='72' bgcolor='#663300' class='style5'><div align='center' class='style7'>Identificador</div></td> ";
echo "<td width='72' bgcolor='#663300' class='style5'><div align='center' class='style7'>Codigo</div></td>";
echo "<td width='72' bgcolor='#663300' class='style5'><div align='center' class='style7'>Descripcion</div></td>";
//echo "<td width='72' bgcolor='#663300' class='style5'><div align='center' class='style7'>Responsable</div></td>";
echo "</TR>\n";
for ($i=0; $i<$filas; $i++)
{

echo "<TR>";
echo "<TD ALIGN='CENTER' BGCOLOR='white' class='style12'>";
$num = $i+1;
echo " $num ";
echo "</TD>";
for ($j=1; $j<$columnas; $j++)
{
echo "<TD ALIGN='CENTER' BGCOLOR='white' class='style12'>";
$valor = oci_result($query, $j);
//$value = oci_result($query,$i);
echo " $valor ";
echo "</TD>";
}
echo "</TR>\n";
}
echo "</TABLE>";
echo "<BR>";
//oci_free_result($query);

?>
  #3 (permalink)  
Antiguo 04/04/2011, 13:45
 
Fecha de Ingreso: julio-2010
Mensajes: 64
Antigüedad: 14 años, 4 meses
Puntos: 1
Respuesta: construir una tabla dinámica en php con oracle

HOla a todos de nuevo. Nadie me contesto pero ya lo resolví solita. Les dejo el código por si alguien más está interesado.
<?php
include('adodb/adodb.inc.php');
include('adodb/adodb-error.inc.php');
$db =" (DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP) (HOST =sigestopbl4-vip.corp.cubacel.com)(PORT = 1521))
(CONNECT_DATA= (SID = STAT1))
)
";
$odbc = ocilogon ('ad', 'Ad', $db) or die( "Could not connect to Oracle database!");
if ($odbc == false){
$msg = OCIError($odbc)."<BR>";}
$query = oci_parse($odbc, "select ID, CODE,ZONE, NODE_DESC from EXCHANGE_ID");

oci_execute($query);
echo "<table border='1'>\n";
echo "<tr>\n";
echo "<td width='72' bgcolor='#663300' class='style11'><div align='center' class='style11'>ID</div></td> ";
echo "<td width='72' bgcolor='#663300' class='style11'><div align='center' class='style11'>CODE</div></td> ";
echo "<td width='72' bgcolor='#663300' class='style11'><div align='center' class='style11'>ZONE</div></td>";
echo "<td width='72' bgcolor='#663300' class='style11'><div align='center' class='style11'>NODE_DESC</div></td>";
echo "</tr>\n";
while ($row = oci_fetch_assoc($query)) {
echo "<tr>\n";
echo "<td>". $row["DEST"] . "</td>\n";
echo "<td>". $row["ID"] . "</td>\n";
echo "<td>". $row["CODE"] . "</td>\n";
echo "<td>". $row["ZONE"] . "</td>\n";
echo "<td>". $row["NODE_DESC"] . "</td>\n";
echo "</tr>\n";
}

echo "</table>\n";

oci_free_statement($query);

?>

Etiquetas: construir, oracle, tablas
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:18.