Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    Trova l'errore....codice php che non da errori ma non funziona!

    Vi posto il codice della mia pagina PHP....non mi da alcun errore eppure non funziona...mah...

    PAGINA1: paginazione.php

    <?php

    require "include/paginazione.inc.php";


    $c=oci_connect("xxx", "xxx", "xxx");
    $webpage = basename($_SERVER['PHP_SELF']);
    $page = (!isset($_GET['page']))? 1 : $_GET['page'];
    echo "questa è la pagina".$page."
    ";
    $queryprima=oci_parse($c,"select count(*) from cons_esami_assegnare");
    oci_execute($queryprima);
    while (($ris=oci_fetch_array($queryprima, OCI_ASSOC))){
    foreach ($ris as $pippo){
    echo ($pippo !== null ? htmlentities($pippo, ENT_QUOTES) :"");
    }
    }

    $max_results = 20;//numero di elementi da visualizzare per pagina.
    $total_results = $pippo;
    $total_pages = ceil($total_results / $max_results);
    $from = (($page * $max_results) - $max_results)+1;

    $queryprima=oci_parse($c,"select c1,c2,c3,c4,c5,c6,c7
    from (select rownum r,t.laboratorio c1, t.richiesta c2, t.esame c3,
    t.campioni c4, to_date(t.dataaccettazione,'dd-mm-yyyy') c5,
    t.giornipassatiaccettazione c6,
    t.giornicartaservizi c7
    from cons_esami_assegnare t)
    where r between $from and $max_results");
    oci_execute($queryprima);
    echo "<table border=1 width='100%'>\n<tr><font color='#6666CC'>";
    echo "<tr><font color='#6666CC'><td align='center'>Laboratorio</td><td align='center'>Richiesta</td><td align='center'>Esame</td><td align='center'>Campioni</td><td align='center'>Data Accettazione</td><td align='center'>Giorni Passati Accettazione</td><td align='center'>Giorni Carta Servizi</td></font></tr>\n";
    echo "<tr><font color='#6666CC'>";
    while (($riga=oci_fetch_array($queryprima, OCI_ASSOC+OCI_RETURN_NULLS))){
    foreach ($riga as $item){
    echo " <td align='center'>". ($item !== null ? htmlentities($item, ENT_QUOTES) :""). "</td>\n";
    }
    echo "</font></tr>\n";
    }
    echo "</font></tr></table>\n";

    echo pagination_3($total_pages, $page, $webpage);

    oci_close($c);
    ?>

    PAGINA2: paginazione.inc.php

    <?php

    function pagination_3($total_pages,$page,$webpage){ //imposto la mia $webpage come parametro formale

    $pagination = "";
    if($total_pages!=1){
    if($page>'1')
    {
    $pagination.="prima
    Prev";
    }

    //Impostiamo il massimo numero di links di partenza da visualizzare nella pagina.
    $maximum_links = 10;

    //Se sono necessarie meno pagine rispetto al numero massimo
    if($total_pages<=$maximum_links)
    {
    //Il numero massimo di links che occorreranno saranno pari al numero totale di pagine + 1
    $maximum_links = $total_pages+1;
    }
    //Se ne sono necessarie di piu, allora:
    else{
    //$maximum_links +1
    $maximum_links=$maximum_links+1;
    if($page>=$maximum_links){
    $maximum_links=$page+1;
    }
    }

    for ($i=1;$i<$maximum_links;$i++)
    {

    if($i==$page){
    $pagination.="<a>".$i."</a>";
    }

    else{
    $pagination.= "".$i."";
    }
    }

    //next e ultima pagina;

    if(($page >="1")&&($page!=$total_pages)){
    $pagination.= "Next
    ultima";
    }

    }
    else{
    $pagination.="";
    }
    return($pagination);

    }

    ?>



    In Pratica ho una pagina nella quale vengono visualizzati i record di una tabella. Dato che sono tanti li ho divisi in più pagine, 20 per pagina. Tutto funziona e non mi da alcun errore, solo che nel momento in cui clicco per andare alla seconda pagina mi visualizza solo l'intestazione della colonna senza i record (idem per le pagine successive).
    La query funziona, l'ho provata...
    Ah...una cosa che vi potrebbe essere utile...in ORACLE non parte a contare dal record 0 ma dall'1...infatti in qst formula "$from = (($page * $max_results) - $max_results)+1;" all'inizio non avevo messo +1 e nella seconda pagina mi faceva vedere l'ultimo record della prima pagina...
    Mah....non capisco proprio perchè!!!!

  2. #2
    domande banali:

    - le querystring sono corrette nel passaggio da una pagina all'altra?

    - la query che genera è corretta?

    - la query generata, eseguita direttamente nel db oracle, produce i risultati desiderati?

    - nel php.ini hai impostato la visualizzazione degli errori? se non ne sei sicura, metti il seguente

    codice:
    error_reporting(E_ALL);
    in cima alla pagina e prova a vedere che succede
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  3. #3
    Grazie mille per avermi risposto....ho trovato il problema....ora funziona tutto benissimo!!!! C'era un errore banalissimo....

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.