Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 17

Discussione: paginazione

  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2009
    Messaggi
    118

    paginazione

    Ho scritto questo script per far si che dopo 8 immobili mi visualizzi il pulsante "next" nella prima pagina, e "next" e "prev" nelle pagine successive.
    La cosa che non capisco è perchè il pulsante "next" compaia anche se ci sono meno di 8 immobili nonostante abbia impostato il limite di 8.

    <div style="position:relative;top:10px;padding:0;">
    <?php
    $num_page = (!isset($_GET[pag]) || empty($_GET[pag]) ? 1 : $_GET[pag]);
    $perpage = 8;

    $num_articoli_totali = 80;
    $next = $prev = false;
    $prev = ( $num_page > 1 );
    $next = ( $num_articoli_totali > ( $num_page * $perpage ) );

    $indietro=($num_page-1);
    $avanti=($num_page+1);

    if ($prev) echo "&nbsp<a style=\"color:#BC040E;text-decoration:none\" href=articoli.php?pag=$indietro>Prev</a>&nbsp&nbsp";

    if (next) echo "&nbsp<a style=\"color:#BC040E;text-decoration:none\" href=articoli.php?pag=$avanti>Next</a>";

    ?>
    </div>

  2. #2
    puoi mettere un IF dove chied se $num_page==1 e il numero totale degli articoli minore o uguale a 8:
    Codice PHP:
    $num_page = (!isset($_GET[pag]) || empty($_GET[pag]) ? $_GET[pag]);
    $perpage 8;

    $num_articoli_totali 80;
    $next $prev false;
    $pagine_tot=ceil($num_articoli_totali/$perpage);
    $prev = ( $num_page );
    $next = ( $num_articoli_totali > ( $num_page $perpage ) );


        
    $link="";
        if((
    $pagina==1)&&($num_articoli_totali<=8)
        {
        
    $link.="";
        }
        else{
     if((
    $num_page!=1)&&($_num_page<=$pagine_tot))
                     {
                      
    $pag=$num_page-1;
                  
    $link.="<a style=\"color:#BC040E;text-decoration:none\" href=articoli.php?pag=$pag>Prev</a>";
                      }
                     if((
    $num_page>0)&&($num_page<$this->$pagine_tot))
                 {
                    
    $pag=$num_page+1;
                  
    $link.="<a style=\"color:#BC040E;text-decoration:none\" href=articoli.php?pag=$pag>Next</a>";
                 }
                }
    echo 
    $link;

    ?> 

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2009
    Messaggi
    118
    grazie per la risposta ma purtroppo lo script non funge

    Non mi visualizza i puls next e prev.

  4. #4
    prova a togliere questa parte di codice solo per fare una verifica,(io l'ho testato con le news del mio sito e funziona ) :
    Codice PHP:
    if(($pagina==1)&&($num_articoli_totali<=8
        { 
        
    $link.=""
        } 
    // l'else senza togliere il codice dentro
    else{

    aggiungo una cosa,ma questi articoli dove li hai su un file di testo o un database?

  5. #5
    Utente di HTML.it
    Registrato dal
    Nov 2009
    Messaggi
    118
    Originariamente inviato da gahan
    grazie per la risposta ma purtroppo lo script non funge

    Non mi visualizza i puls next e prev.
    gli articolo c'è l'ho sul database

  6. #6
    posta la parte del codice relativa ala visualizzazione degli articoli e delnumero totale degli articoli,in pratica le query,ora che rileggo il codice che ti ho postato ho dimenticato di cancellare queste 2 righe:
    Codice PHP:
    $prev = ( $num_page ); 
    $next = ( $num_articoli_totali > ( $num_page $perpage ) ); 
    toglile dal codice

  7. #7
    Utente di HTML.it
    Registrato dal
    Nov 2009
    Messaggi
    118
    Ecco tutto il codice:

    Codice PHP:
    <?php               require_once('config.php');  $art_per_pag 8;                $start=0;              $stop=$art_per_pag;           $sql "SELECT * FROM pagine ORDER by 'id' ";                if (!isset($_GET[pag]) or ($_GET[pag]==1)){                $sql .= " LIMIT $start$stop";               }else{              $stop $art_per_pag $_GET[pag];              $start $stop $art_per_pag 0;              $sql .= " LIMIT $start$stop";            }              $query mysql_query($sql);                while($row mysql_fetch_array($query)) {                $html  "<div id='box'>";              $html .= "<div id='title'>";            $html .="<div id='testo'>";               $html .= "[b]$row[titolo][/b]";           $html .= "</div>";               $html .="<div id='prezzo'>";  $numero=$row[prezzo];  $numm=number_format$numero "," "." );  $html .= "[b]€ $numm[/b]";      $html .= "</div>";  $html .= "</div>";  $html .= "<div id='img'>";  $sql_img "SELECT * FROM immagini WHERE paginaid=$row[id] AND copertina=1 LIMIT 1 ";      $query_img mysql_query($sql_img);  $row_img mysql_fetch_array($query_img);  $html .= "[img]foto/$row_img[immagine][/img]";  $html .= "</div>";  $html .= "<div id='art'>";  $testo "$row[testo]";  $preview substr($testo,310);  $html .= "$preview..." ."
    "
    ;  $html .= "<div id='dettagli'>";  $html .= "[url='#']dettagli[/url]";  $html .= "</div>";  $html .= "</div>";  $html .= "</div>";  echo $html;  }  ?>  <div style="position:relative;top:10px;padding:0;">  <?php  $num_page = (!isset($_GET[pag]) || empty($_GET[pag]) ? $_GET[pag]);   $perpage 8;     $num_articoli_totali 80;   $next $prev false;   $pagine_tot=ceil($num_articoli_totali/$perpage);           $link="";       if(($pagina==1)&&($num_articoli_totali<=8))      {       $link.="";       }       else{   if(($num_page!=1)&&($num_page<=$pagine_tot))                    {                     $pag=$num_page-1;                 $link.="<a style=\"color:#BC040E;text-decoration:none\" href=articoli.php?pag=$pag>Prev</a>";                     }                    if(($num_page>0)&&($num_page<$this->$pagine_tot))                {                   $pag=$num_page+1;                 $link.="<a style=\"color:#BC040E;text-decoration:none\" href=articoli.php?pag=$pag>Next</a>";                }               }   echo $link;     ?></div>

  8. #8
    Utente di HTML.it
    Registrato dal
    Nov 2009
    Messaggi
    118
    Aspetta....lo riposto bene:

    <?php
    require_once('config.php');
    $art_per_pag = 8;
    $start=0;
    $stop=$art_per_pag;
    $sql = "SELECT * FROM pagine ORDER by 'id' ";
    if (!isset($_GET[pag]) or ($_GET[pag]==1)){
    $sql .= " LIMIT $start, $stop";
    }else{
    $stop = $art_per_pag * $_GET[pag];
    $start = $stop - $art_per_pag + 0;
    $sql .= " LIMIT $start, $stop";
    }
    $query = mysql_query($sql);
    while($row = mysql_fetch_array($query)) {
    $html = "<div id='box'>";
    $html .= "<div id='title'>";
    $html .="<div id='testo'>";
    $html .= "$row[titolo]";
    $html .= "</div>";
    $html .="<div id='prezzo'>";
    $numero=$row[prezzo];
    $numm=number_format( $numero , 2 , "," , "." );
    $html .= "€ $numm";
    $html .= "</div>";
    $html .= "</div>";
    $html .= "<div id='img'>";
    $sql_img = "SELECT * FROM immagini WHERE paginaid=$row[id] AND copertina=1 LIMIT 1 ";
    $query_img = mysql_query($sql_img);
    $row_img = mysql_fetch_array($query_img);
    $html .= "[img]foto/$row_img[immagine][/img]";
    $html .= "</div>";
    $html .= "<div id='art'>";
    $testo = "$row[testo]";
    $preview = substr($testo,0 , 310);
    $html .= "$preview..." ."
    ";
    $html .= "<div id='dettagli'>";
    $html .= "dettagli";
    $html .= "</div>";
    $html .= "</div>";
    $html .= "</div>";
    echo $html;
    }
    ?>
    <div style="position:relative;top:10px;padding:0;">
    <?php
    $num_page = (!isset($_GET[pag]) || empty($_GET[pag]) ? 1 : $_GET[pag]);
    $perpage = 8;

    $num_articoli_totali = 80;
    $next = $prev = false;
    $pagine_tot=ceil($num_articoli_totali/$perpage);


    $link="";
    if(($pagina==1)&&($num_articoli_totali<=8)) <--ma qui non dovrebbe essere $num_pag invece che $pagina?
    {
    $link.="";
    }
    else{
    if(($num_page!=1)&&($num_page<=$pagine_tot))
    {
    $pag=$num_page-1;
    $link.="<a style=\"color:#BC040E;text-decoration:none\" href=articoli.php?pag=$pag>Prev</a>";
    }
    if(($num_page>0)&&($num_page<$this->$pagine_tot))
    {
    $pag=$num_page+1;
    $link.="<a style=\"color:#BC040E;text-decoration:none\" href=articoli.php?pag=$pag>Next</a>";
    }
    }
    echo $link;

    ?>
    </div>

  9. #9
    si hai ragione ho scritto $pagina invece di $num_page,incolla il codice in questo modo e metti un echo per verificare gli articoli presenti nel database:
    echo $num_articoli_totali;
    ecco il codice:
    Codice PHP:
    <?php
    require_once('config.php');
    $art_per_pag 8;
    $start=0;


    if (!isset(
    $_GET['pag']) or ($_GET'pag']==1)){
    $sql " SELECT * FROM pagine ORDER by id DESC  LIMIT $start$art_per_pag";
    }else{
    $start $art_per_pag * ($_GET[pag]-1);

    $sql =" SELECT * FROM pagine ORDER by id DESC LIMIT $start$art_per_pag";
    }
    $query mysql_query($sql);
    while(
    $row mysql_fetch_array($query))
          {
    $html "<div id='box'>";
    $html .= "<div id='title'>";
    $html .="<div id='testo'>";
    $html .= "[b]$row[titolo][/b]";
    $html .= "</div>";
    $html .="<div id='prezzo'>";

    $numero=$row['prezzo'];
    $numm=number_format$numero "," "." );
    $html .= "[b]€ $numm[/b]";
    $html .= "</div>";
    $html .= "</div>";
    $html .= "<div id='img'>";
    $sql_img "SELECT * FROM immagini WHERE paginaid=$row[id] AND copertina=1 LIMIT 1 ";

    $query_img mysql_query($sql_img);

    $row_img mysql_fetch_array($query_img);

    $html .= "[img]foto/$row_img[immagine][/img]";
    $html .= "</div>";
    $html .= "<div id='art'>";
    $testo "$row[testo]";
    $preview substr($testo,310);
    $html .= "$preview..." ."
    "
    ;
    $html .= "<div id='dettagli'>";
    $html .= "[url='#']dettagli[/url]";
    $html .= "</div>";
    $html .= "</div>";
    $html .= "</div>";
    echo 
    $html;
    }
    ?>
    <div style="position:relative;top:10px;padding:0;">
    <?php
    $num_page 
    = (!isset($_GET[pag]) || empty($_GET[pag]) ? $_GET[pag]);
    $perpage 8;

    $query="SELECT * FROM pagine ORDER BY id";
       
    $res=mysql_query($query);
    $num_articoli_totali=mysql_num_rows($res);
    $next $prev false;
    $pagine_tot=ceil($num_articoli_totali/$art_per_pag);


    $link="";
    if((
    $num_page==1)&&($num_articoli_totali<=8))
    {
    $link.="";
    }
    else{
    if((
    $num_page!=1)&&($num_page<=$pagine_tot))
    {
    $pag=$num_page-1;
    $link.="<a style=\"color:#BC040E;text-decoration:none\" href=articoli.php?pag=$pag>Prev</a>";
    }
    if((
    $num_page>0)&&($num_page<$this->$pagine_tot))
    {
    $pag=$num_page+1;
    $link.="<a style=\"color:#BC040E;text-decoration:none\" href=articoli.php?pag=$pag>Next</a>";
    }
    }
    echo 
    $link;

    ?>

  10. #10
    Utente di HTML.it
    Registrato dal
    Nov 2009
    Messaggi
    118
    mi da errore:

    File o server remoto non trovato

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.