Visualizzazione dei risultati da 1 a 6 su 6

Discussione: Paginazione errore

  1. #1

    Paginazione errore

    Salve a tutti,

    scusate il titolo ma non saprei come definire il problema... L'utente può selezionare categoria e tramite ajax sottocategoria dopodiché parte la paginazione. Il problema si presenta alla seconda pagina. Anche se ci sono articoli nelle pagine successive il numero totale delle pagine è 0! Idem, quando ci troviamo nella pagina 2 che restituisce correttamente i risultati della query, il totale delle pagine è 0 ...

    Il problema dovrebbe essere nell'ultima query dove al posto di $primo dovrei inserire qualcosa del tipo $last ... ma sono tre giorni che lavoro e non riesco ad uscirne. Grazie a chiunque abbia un suggerimento.

    Vi posto il codice della paginazione ... Grazie.
    Codice PHP:

    <?php 

     $sub 
    $_GET['subcat'];
      
    $idart $_GET['idart'];
    $sub1 $_POST['subcat'];

      
    // esecuzione prima query

    $count mysql_query("SELECT COUNT(idart) FROM $tabarticoli WHERE subcategoria = '$sub1'");
    $res_count mysql_fetch_row($count);

    // numero totale di records
    $tot_records $res_count[0];

    // risultati per pagina(secondo parametro di LIMIT)
    $per_page 4;

    // numero totale di pagine
    $tot_pages ceil($tot_records $per_page);

    // pagina corrente
    $current_page = (!$_GET['page']) ? : (int)$_GET['page'];

    // primo parametro di LIMIT
    $primo = ($current_page 1) * $per_page;


    /*if(isset($_POST['posted'])) {
    $idcat = $_POST['idcat'];
    $categoria = $_POST['categoria'];
    $subcat2 = $_POST['subcategoria'];*/
    /*$object =$_GET['str2'];
    echo $object;
    */ 
    while (list ($key,$val) = each ($_POST)) {

    //echo "\$$key = $val";
    }
    extract($_POST);

    $cat == 'categoria';
    $subcat == 'subcategoria';
    $object == 'objectID';
     
    $idart =='idart';




    $site $_SERVER['NAME'];

    $subcat1 $_GET['subcat'];
    $cat1 $_GET['cat'];



    // esecuzione seconda query con LIMIT

    $query_limit mysql_query("SELECT * FROM harticoli_it WHERE subcategoria ='$subcat' LIMIT $primo$per_page");
    while(
    $i mysql_fetch_array($query_limit)) {

    $id $i['idart'];

    $dettaglio "$site/pg/dettaglio.php?id=$id";



    // gestione tabulazione contenuto
    $descrizione $i['descrizione'];
    $acapo wordwrap($descrizione,90);
    $acapo1 nl2br($acapo);

    $immagine $i['thumb'];
    $predefimmagine $ndthumb;

    if(empty(
    $i['thumb'])) {
    $immagine $ndthumb;
    }
    ;
    //if ($immagine == "" ) { echo [img]$ndthumb[/img] }else{ echo [img]thumbs/$immagine[/img] } 
    $box "<table width='800' border='0'>
      <tr>
      <input name='posted' type='hidden' value='
    $i[idart]' />
        <td width='20%' bgcolor='white'><div align='justify'><span class='Stile1'><span class='Stile2'><span class='Stile3'></span></span></span>[img]../thumbs/
    $immagine[/img]</div></td>
        <td  width='20%' bgcolor='#CCCCCC'><div align='justify'><span class='Stile1'><span class='Stile2'><span class='Stile3'></span></span></span><center>  <font size='2' face='Verdana, Arial, Helvetica, sans-serif'>[b]
    $i[articolo][/b]</font></center></div></td>
        <td width='40%' bgcolor='#CCCCCC'><div align='justify'><span class='Stile1'><span class='Stile2'><span class='Stile3'></span></span></span><font size='2' face='Verdana, Arial, Helvetica, sans-serif'>[b]
    $acapo1[/b]</font></div></td>
        <td width='10%' bgcolor='#CCCCCC'><div align='justify'><span class='Stile1'><span class='Stile2'><span class='Stile3'></span></span></span><center><font size='2' face='Verdana, Arial, Helvetica, sans-serif'>[b]<H4>Euro 
    $i[prezzo]</H4>[/b]</font></center></div></td>
          <td width='10%' bgcolor='#999999'><div align='justify'><span class='Stile1'><span class='Stile2'><span class='Stile3'></span></span></span><center>[url='
    $dettaglio']<font size='2' face='Verdana, Arial, Helvetica, sans-serif'>dettaglio</font>[/url]</center></div></td>
        
      </tr>
    </table>"
    ;


    //"<td width='22%' height='110'>  </td>
    //           <td valign='top' class='detailText' nowrap='nowrap'>
    [url='javascript:;'][/url]

    //          Prezzo: </td>"; 
    //<td width='20%' bgcolor='#CCCCCC'><div align='justify'><span class='Stile1'><span class='Stile2'><span class='Stile3'><input //name='list[]' type='checkbox' value='$i[idart]' /></span></span></span></div></td>    
        
    echo $box;
        }
        
        
        
    //}
        




    ?>
    <?php 

    if(isset($_GET['cat'])) {

    $cat $_GET['cat'];
    $subcat $_GET['subcat'];


    $query_limit2 mysql_query("SELECT * FROM harticoli_it WHERE subcategoria ='$subcat' LIMIT $primo$per_page");


    while(
    $i mysql_fetch_array($query_limit2)) {

    //$id = $i['idart'];

    $idn $_GET['idart']; 
    $dettaglio "$site/pg/dettaglio.php?id=$id";




    // gestione tabulazione contenuto
    $descrizione $i['descrizione'];
    $acapo wordwrap($descrizione,90);
    $acapo1 nl2br($acapo);

    $immagine $i['thumb'];
    $predefimmagine $ndthumb;

    if(empty(
    $i['thumb'])) {
    $immagine $ndthumb;
    }
    ;
    //if ($immagine == "" ) { echo [img]$ndthumb[/img] }else{ echo [img]thumbs/$immagine[/img] } 
    $box2 "<table width='800' border='0'>
      <tr>
      <input name='posted' type='hidden' value='
    $i[idart]' />
        <td width='20%' bgcolor='white'><div align='justify'><span class='Stile1'><span class='Stile2'><span class='Stile3'></span></span></span>[img]../thumbs/
    $immagine[/img]</div></td>
        <td  width='20%' bgcolor='#CCCCCC'><div align='justify'><span class='Stile1'><span class='Stile2'><span class='Stile3'></span></span></span><center>  <font size='2' face='Verdana, Arial, Helvetica, sans-serif'>[b]
    $i[articolo][/b]</font></center></div></td>
        <td width='40%' bgcolor='#CCCCCC'><div align='justify'><span class='Stile1'><span class='Stile2'><span class='Stile3'></span></span></span><font size='2' face='Verdana, Arial, Helvetica, sans-serif'>[b]
    $acapo1[/b]</font></div></td>
        <td width='10%' bgcolor='#CCCCCC'><div align='justify'><span class='Stile1'><span class='Stile2'><span class='Stile3'></span></span></span><center><font size='2' face='Verdana, Arial, Helvetica, sans-serif'>[b]<H4>Euro 
    $i[prezzo]</H4>[/b]</font></center></div></td>
          <td width='10%' bgcolor='#999999'><div align='justify'><span class='Stile1'><span class='Stile2'><span class='Stile3'></span></span></span><center>[url='
    $dettaglio']<font size='2' face='Verdana, Arial, Helvetica, sans-serif'>dettaglio</font>[/url]</center></div></td>
        
      </tr>
    </table>"
    ;


    //"<td width='22%' height='110'>  </td>
    //           <td valign='top' class='detailText' nowrap='nowrap'>
    [url='javascript:;'][/url]

    //          Prezzo: </td>"; 
    //<td width='20%' bgcolor='#CCCCCC'><div align='justify'><span class='Stile1'><span class='Stile2'><span class='Stile3'><input //name='list[]' type='checkbox' value='$i[idart]' /></span></span></span></div></td>    
        
    echo $box2;
        }
        }
        
        
    //}

        // includiamo  paginazione
    include("paginazione.php");


    // inseriamo la paginazione
    echo "
    "
    ;
    echo 
    "<font size='2' face='Verdana, Arial, Helvetica, sans-serif'>[b]$paginazione[/b]</font>";
        




    ?>

  2. #2
    Utente di HTML.it L'avatar di linoma
    Registrato dal
    Mar 2010
    Messaggi
    1,346
    Secondo me ce un problema con il LIMIT $primo, le queries restituiscono sempre qualcosa?
    Per gli Spartani e Sparta usa spartan Il mio github

  3. #3
    Le queries restituiscono il risultato corretto al primo richiamo e all'eventuale pagina ics successiva selezionata tramite paginazione... ma sulla pagina successiva non viene più restituita la paginazione in pratica. Viene sempre indicato numero pagine totali : 0

    Inserisco codice paginazione.php tanto per completare ...

    Codice PHP:

    <style type="text/css">
    <!--
    .Stile1 {color: #FF0000}
    -->
    </style>

    <?php

    $paginazione 
    "Pagine totali: " $tot_pages "
    ["
    ;
    for(
    $i 1$i <= $tot_pages$i++) {
    if(
    $i == $current_page) {
    //$paginazione .= $i . " ";
    $paginazione .= $i;
    } else {


    $paginazione .= "<a href=\"?page=$i&subcat=$subcat&cat=$cat\" title=\"Vai alla pagina $i\" class='Stile1'>$i</a> ";
    }
    }
    $paginazione .= "]";

    ?>

  4. #4
    Utente di HTML.it L'avatar di linoma
    Registrato dal
    Mar 2010
    Messaggi
    1,346
    $tot_pages = ceil($tot_records / $per_page);
    .
    .
    .
    $paginazione = "Pagine totali: " . $tot_pages;
    Scusami ma tocca puntualizzare un po', il tuo codice mal identato è anche di difficile lettura, quindi ricapitolando se $per_page vale sempre 4, è dici che è sbagliata $tot_pages allora $tot_records vale 0. Scusami se ho capito male.
    Per gli Spartani e Sparta usa spartan Il mio github

  5. #5
    $tot_records è il totale dei records presenti ...
    $per_page è quanti records desidero stampare per pagina

  6. #6

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.