Ver Mensaje Individual
  #1 (permalink)  
Antiguo 31/05/2009, 12:11
bERTUZ
 
Fecha de Ingreso: febrero-2008
Mensajes: 76
Antigüedad: 16 años, 3 meses
Puntos: 0
LIMIT php-oracle (solucionado)

Buenas tardes compañeros!

Estoy intentando hacer una paginación para php conectado con servidor oracle, mediante la conexión oci...con el mysql era muy facil mediante el LIMIT pero aquí se tiene que hacer con un between...y es mucho más complicado.

Por ejemplo, tengo 4 registros y quiero que me muestre los 2 primeros en la primera página y los 2 segundos en la segunda página...y me muestra los 2 últimos en la primera página y en la segunda me muestra solo uno, el último...no funciona bien...alguien localiza el posible error? :S

Código PHP:
$tamanyPagina 2//nº resultados por página
    
$pagina $_GET["pagina"];
    
    if (!
$pagina)
    {
        
$inici 0;
        
$pagina 1;
    }
    else 
$inici = ($pagina 1) * $tamanyPagina;

//----------------------------------------------------------------
  
  
$select oci_parse($conect"SELECT * FROM (SELECT ROWNUM as id,codigo,nif,nombre,direccion,poblacion,provincia,dpostal,telefono,fax,email,bancocc,formadepago,vencimientos,diadepago,periodo FROM clientes) WHERE id BETWEEN '$inici' AND '$tamanyPagina' ORDER BY provincia,poblacion,nombre");
  
oci_execute($select); 
...y en esta otra parte del código, calculo el número total de páginas

Código PHP:
$select oci_parse($conect'SELECT COUNT(*) FROM clientes ORDER BY provincia,poblacion,nombre');
    
oci_execute($select);
    
$resultatNumero oci_fetch_array($select);
    
$numeroRegistres $resultatNumero[0]; 
     
    
$totalPagines ceil($numeroRegistres $tamanyPagina); 
    
    echo 
"<br>";
    
    if (
$totalPagines 1)
    {
        echo 
"[";
        for (
$i 1$i <= $totalPagines$i++)
        {   
           if (
$pagina == $i) echo $pagina " "//no mostramos el enlace a la página actual
           
else echo "<a href='clientsTots.php?pagina=$i'>" $i "</a> ";
        }
        echo 
"]";
    } 
MUCHÍSIMAS GRACIAS CRACKS!