
paginacion oracle-php
Publicado por garcia (2 intervenciones) el 31/01/2014 14:44:02
Saludos a todos, he estado investigando sobre la paginacion en oracle y tengo el siguiente codigo
en la primera pagina me muestra los registros que quiero pero en la segunda me muestra solo uno y es el ultimo registro de la primera pagina, en la tercera ya no me muestra nada.
Serian tan amables de decirme que estoy haciendo mal. Gracias
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
<?php
$con = oci_connect("localhost", "contraseña", "bd");
if (!$con) {
$m = oci_error();
echo $m['message'], "\n";
exit;
}
else {
//echo "Conexión con éxito a Oracle!";
}
$noRegistros = 5; //Registros por página
$pagina = 1; //Por default, página = 1
if($_GET["pagina"]) //Si hay página por ?pagina=valor, lo asigna
$pagina = $_GET["pagina"];
echo "Pagina: ".$pagina."<hr>";
$inicio=(($pagina-1)*$noRegistros);
$sSQL=oci_parse($con,"SELECT *
FROM ( SELECT A.nombre, A.apellidos, ROWNUM row_number
FROM (
SELECT nombre,apellidos
FROM ejemplo2
) A
WHERE ROWNUM <= '$noRegistros'
)
WHERE row_number >= '$inicio'");
$r1=oci_execute($sSQL);
while ( $row = oci_fetch_array($sSQL, OCI_RETURN_LOBS) )
{
echo $row[0]."<br>";
}
$result1 = oci_parse($con,"SELECT COUNT(*) AS RecordCount FROM EJEMPLO2");
$r21=oci_execute($result1);
while ( $row21 = oci_fetch_array($result1, OCI_RETURN_LOBS) )
{
// $rows[] = $row;
$totalRegistros=$row21[0];
}
echo "<hr>Total registros: ".$totalRegistros.", Pagina: ";
$noPaginas = $totalRegistros/$noRegistros; //Determino la cantidad de páginas
for($i=1; $i<$noPaginas+1; $i++) { //Imprimo las páginas
if($i == $pagina)
echo "$i "; //A la página actual no le pongo link
else
echo "<a href=\"?pagina=".$i."\">".$i."</a> ";
}
?>
en la primera pagina me muestra los registros que quiero pero en la segunda me muestra solo uno y es el ultimo registro de la primera pagina, en la tercera ya no me muestra nada.
Serian tan amables de decirme que estoy haciendo mal. Gracias
Valora esta pregunta


0