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

    paginazione problematica

    Ciao ragazzi, sto cercando di impaginare dei dati ma ho un problema:
    i file che uso sono 4 oltre ai dati del db

    comuni.php
    codice:
    Varese
    
    
    
    Milano
    associazioni.php
    codice:
    <?
    include 'lib_functions.php';
    include '../db/dbconf.php';
    connessione($db_host, $db_login, $db_pass, $database);
    
    $link=mysql_connect("$db_host", "$db_login", "$db_pass")
    
    or die ("Non riesco a connettermi a [b]$db_host");
    
    mysql_select_db ($database, $link)
    
    or die ("Non riesco a selezionare il db $database
    ");
    
    select_comuni();
    ?>
    lib_functions.php
    codice:
    <?
    
    function connessione($db_host, $db_login, $db_pass, $database){
    mysql_connect($db_host, $db_login, $db_pass);
    mysql_select_db ($database);
    }
    
    function select_comuni(){
    global $comune;
    
    
    $count = mysql_query("SELECT COUNT(id) FROM associazioni");
    $res_count = mysql_fetch_row($count);
    
    $tot_records = $res_count[0];
    $end = 5;
    $tot_pages = ceil($tot_records / $end);
    $current_page = (!$_GET['page']) ? 1 : (int)$_GET['page'];
    $start = ($current_page - 1) * $end;
    
    
                        echo "<div align=\"center\">";
                        echo "<div id=\"sfondo_titoli_comuni\">";
                        echo "<table align=\"center\" width=\"400\">";
                        echo "<tr>";
                        echo "<td class=\"h19\"><div id='div11'>Le Associazioni di $comune</div></td>";
                        echo "</tr>";
                        echo "</table>";
                        echo "
    ";
                        echo "</div>";
                        echo "</div>";
    
    
    
    if ($_REQUEST['comune']){
    
    
    $result = mysql_query ("SELECT * FROM associazioni WHERE comune LIKE '".$_REQUEST['comune']."' ORDER BY comune LIMIT $start, $end")or die ("Non riesco ad eseguire la richiesta $query");
    include("paginazione.php");
    
    while ($valori = mysql_fetch_array ($result)){
    
                        echo "<table align=\"center\" width=\"450\" bgcolor='#EBF4FE'>";
    					echo "<tr>";
                        echo "<td class=\"h18\"><div id='div07'>".$valori['denominazione']."</div></td>";
    					echo "</tr>";
    					echo "<tr>"; 
                        echo "<td class=\"h20\"><div id='div07'>".$valori['sede']."</div></td>";
    					echo "</tr>";
    					echo "<tr>"; 
                        echo "<td class=\"h20\"><div id='div07'>[img]../images/tel.gif[/img]".$valori['telefono']."</div></td>";
    					echo "</tr>";
    					echo "<tr>";
                        echo "<td class=\"h20\"><div id='div07'>[img]../images/fax.gif[/img]".$valori['fax']."</div></td>";
    					echo "</tr>";
                        echo "<tr>";
                        echo "<td class=\"h20\"><div id='div07'>[img]../images/home.gif[/img]".$valori['link']."</div></td>";
                        echo "</tr>";
    					echo "<tr>";
                        echo "<td class=\"h20\"><div id='div07'>[img]../images/email.gif[/img]".$valori['email']."</div></td>";
    					echo "</tr>";
                        echo "<tr>";
                        echo "<td height='20'><div id='rules_01'></div></td>";
                        echo "</tr>";
                        echo "</table>";
    
                        }
    
                        echo "<div align=\"center\">";
                        echo "<div id=\"sfondo_titoli_comuni\">";
                        echo "<table align=\"center\" width=\"400\">";
                        echo "<tr>";
                        echo "<td class=\"h20\"><div id='div11'>$paginazione</div></td>";
                        echo "</tr>";
                        echo "</table>";
                        echo "
    ";
                        echo "</div>";
                        echo "</div>";
    
    }
    
    }
    
    ?>
    paginazione.php
    codice:
    <?php
    
    $paginazione = "Pagine totali: " . $tot_pages . "
    [";
    for($i = 1; $i <= $tot_pages; $i++) {
    if($i == $current_page) {
    $paginazione .= $i . " ";
    } else {
    $paginazione .= "<a href=\"?page=$i\" title=\"Vai alla pagina $i\">$i</a> ";
    }
    }
    $paginazione .= "]";
    
    ?>
    il problema ora e che ci sono degli errori perchè inizialmente ho iniziato a passare il comune tramite il link direttamente ora utilizzando lo script di paginazione trovato si questo sito, mi ritrovo che lui implemente la paginazione di 1 ecc.. utilizzando page=2 ...ecc...
    invece gli dovrei passare comune=2..comune=n.... ma ovviamente nn so come farlo!!!

  2. #2
    Bhe, credo ci manchi qualcosa nel file paginazione! Da dove li prende i dati? Ci sono delle variabili però alcune non sono definite nel file!

  3. #3
    Cmq vedi che è facile! In pratica prima ti calcoli il numero totale di pagine:
    ti ricavi il numero totale di record e lo dividi per il numero di record che vuoi per pagina arrotondando di uno.

    ES
    numRecord = 85
    recPerPagina = 4
    numPagine = numRecord/recPerPagina (arrotondato per eccesso)

    Saputo questo assegni alla variabile $current_page il valore di $_GET['comuni'] (o qualcosa del genere, ora non ricordo la variabile).

    A questo punto dovrebbe funzionare. ciao!

  4. #4
    grazie Mircov, il problema è propio questo non riesco a passargli la pagina successiva in maniera corretta..
    ho provato nella pagina della paginazione a concatenarla cosi:
    codice:
    ?page=&comune=$comune
    ma nn funge lo stesso..non so propio come fare!!!

  5. #5
    Non credo di aver capito!?

  6. #6
    allora io nella prima pagina, passo direttamente il comune sul quale voglio sia fatta la query
    esempio:
    "associazioni.php?comune=milano"
    nel link del file paginazione.php

    il link passato è questo:
    paginazione .= "<a href=\"?page=$i\" title=\"Vai alla pagina $i\">$i</a> ";

    che è sballato. perchè lui passa:
    "associazioni.php?page=2"

    mi chiedo cosa devo passara esattamente per avere i dati della seconda pagina inerente al comune scelto?

  7. #7
    Modifichi il link in modo che ti passi sia comune che page:

    devi ottenere questo: default.php?comune=milano&page=4

    quindi farai

    default.php?comune=' . $comune . '&page=' . $i;

    dove $comune è la tua variabile che contiene il nome del comune su cui va fatta la query mentre $i è il numero della pagina (é la variabile usata dallo script di paginazione)

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.