Печать таблицы oracle BD в PHP
у меня есть сомнение в том, что я хочу вытащить таблицу в html и распечатать все данные из таблицы в oracle, но мне это не удается.
<?php
function conectar_Oracle($usuario, $pass, $cadenaconexion)
{
// Conectar con Oracle:
$conexion = oci_connect($usuario, $pass, $cadenaconexion) or die("Error al conectar : " . oci_error());
return $conexion;
}
$conexion = conectar_Oracle(
"system",
"password",
"(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=127.0.0.1)(PORT=1521)))(CONNECT_DATA=(SID=puvidb)))"
);
$sql = "SELECT * FROM GENERAL.PERSONAGENERAL ORDER BY 'PAGE_ID'";
$filas = 0;
$stmt = oci_parse($conexion, $sql);
$ok = oci_execute($stmt);
$obj = oci_fetch_object($stmt);
echo $obj->PEGE_ID . " - " . $obj->PEGE_DOCUMENTOIDENTIDAD . " - " . $obj->PEGE_MAIL . "<br />";
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<table border="1">
<thead>
<tr>
<th>#</th>
<th>Codigo</th>
<th>Producto</th>
<th>Stock</th>
</tr>
</thead>
<tbody>
<?php
$i = 1;
foreach ($obj as $dato) {
?>
<tr>
<td><?php echo $i++; ?></td>
<td><?php echo $obj->PEGE_ID; ?></td>
<td><?php echo $obj->PEGE_DOCUMENTOIDENTIDAD; ?></td>
<td><?php echo $obj->PEGE_MAIL; ?></td>
</tr>
<?php
}
?>
</tbody>
</div>
</table>
</body>
</html>
Ну, мне удается принести мне данные, когда я указываю его, но он не приносит мне всю table, это означает, что соединение все правильно, я очень привык к подключению к MySQL, но у oracle было много проблем.
Вот это результат, если вы понимаете меня он повторяет данные и не приносит мне другие данные, я должен сказать, что этот BD имеет около 2500 записей
1
Author: Andred Garcia Martin, 2020-12-01
1 answers
Ошибка заключается в том, что foreach неправильно сделан, и поскольку переменные, которые были определены там, не работают. код будет выглядеть так.
<?php
$conn = oci_connect(
"system",
"password",
"(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=127.0.0.1)(PORT=1521)))(CONNECT_DATA=(SID=puvidb)))"
);
if (!$conn) {
$e = oci_error();
trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}
$sql = 'SELECT * FROM GENERAL.PERSONAGENERAL WHERE PEGE_ID > 12000 AND PEGE_ID < 12100';
$stid = oci_parse($conn, $sql);
oci_execute($stid);
$sql = 'SELECT * FROM ACADEMICO.ESTUDIANTEPENSUM WHERE ';
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<table border="1">
<thead>
<tr>
<th>#</th>
<th>Codigo</th>
<th>Producto</th>
</tr>
</thead>
<tbody>
<?php
$i = 1;
while (oci_fetch($stid)) {
?>
<tr>
<td><?php echo $i++; ?></td>
<td><?php echo oci_result($stid, 'PEGE_ID'); ?></td>
<td><?php echo oci_result($stid, 'PEGE_DOCUMENTOIDENTIDAD'); ?></td>
</tr>
<?php
}
oci_free_statement($stid);
oci_close($conn);
?>
</tbody>
</div>
</table>
</body>
</html>
0
Author: Andred Garcia Martin, 2020-12-02 05:35:32