Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 16
  1. #1

    Problema con paginazione...

    Lo so di essere un rompiscatole dato che chiedo ancora spiegazioni in merito alla paginazione ma purtroppo non ho capito come mai non funziona nella mia pagina.

    Io ho prelevato la paginazione da freephp ma non riesco proprio a capire dove sbaglio.

    Questo è il codice della pagina perfefettamente funzionante:

    codice:
    $query = "SELECT regioni, provincie, Provincia, Nome, DATE_FORMAT(Dal, '%d - %m - %Y') Dal , DATE_FORMAT(Al, '%d - %m - %Y') Al , Descrizione, Informazioni " . 
    "FROM ".$prefix."_dati , ".$prefix."_regioni , ".$prefix."_provincie ". 
    "WHERE ".$prefix."_dati.Regione = ".$prefix."_regioni.r_id " . 
    "AND ".$prefix."_dati.Provincia = ".$prefix."_provincie.p_id " . 
    "AND Provincia = '$_GET[prov]' " . 
    "AND Regione = '$_GET[reg]' " . 
    "ORDER BY Comune"; 
    
    $results = mysql_query($query) 
    or die(mysql_error()); 
    
    $i=1; 
    while ($row = mysql_fetch_array($results)) { 
    extract($row); 
    if ($i==1) { 
    echo "<center>"._Title." 
    
    $provincie ($regioni) </center>
    "; 
    } 
    $i++; 
    
    echo "<font class=\"dati\"><center>$Nome</center></font>"; 
    echo "<table width=\"90%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\" align=\"center\">" 
    . " <tr>" 
    . " <td bgcolor=\"#B0C6B8\" align=\"left\" width=\"20%\">Data Inizio:</td>" 
    . " <td width=\"80%\" class=\"contentdatii\">$Dal</td>" 
    . " </tr>" 
    . " <tr>" 
    . " <td bgcolor=\"#C1DDBA\" align=\"left\" width=\"20%\">Data Fine:</td>" 
    . " <td width=\"80%\" class=\"contentdati\">$Al</td>" 
    . " </tr>" 
    . " <tr>" 
    . " <td bgcolor=\"#B0C6B8\" align=\"left\" width=\"20%\">Descrizione:</td>" 
    . " <td width=\"80%\" class=\"contentdatii\">$Descrizione</td>" 
    . " </tr>" 
    . " <tr>" 
    . " <td bgcolor=\"#C1DDBA\" align=\"left\" width=\"20%\">Informazioni:</td>" 
    . " <td width=\"80%\" class=\"contentdati\">$Informazioni</td>" 
    . " </tr>" 
    . "</table>
    "; 
    
    }
    A questa ho provato ad aggiungere la paginazione ed ecco il codice:

    codice:
    // esecuzione prima query
    $count = mysql_query("SELECT COUNT(id) FROM ".$prefix."_dati");
    $res_count = mysql_fetch_row($count);
    
    // numero totale di records
    $tot_records = $res_count[14];
    
    // 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']) ? 1 : (int)$_GET['page'];
    
    // primo parametro di LIMIT
    $primo = ($current_page - 1) * $per_page;
    
    echo "<div align=\"center\">\n<table width=\"90%\"  border=\"0\" cellspacing=\"0\" cellpadding=\"0\" align=\"center\">\n";
    
    // esecuzione seconda query con LIMIT
    $query_limit = mysql_query("SELECT regioni, provincie, Provincia, Nome, DATE_FORMAT(Dal, '%d - %m - %Y') Dal , DATE_FORMAT(Al, '%d - %m - %Y') Al , Descrizione, Informazioni FROM ".$prefix."_dati , ".$prefix."_regioni , ".$prefix."_provincie WHERE ".$prefix."_dati.Regione = ".$prefix."_regioni.r_id AND ".$prefix."_dati.Provincia = ".$prefix."_provincie.p_id AND Provincia = '$_GET[prov]' AND Regione = '$_GET[reg]' ORDER BY Nome LIMIT $primo, $per_page");
    $i=1;
    while($results = mysql_fetch_array($query_limit))
    extract($row); 
    if ($i==1) {
    echo "<center>"._Title." 
    
    $provincie </center>
    ";
    }
    $i++; {
    echo " <tr>\n <td>";
    echo "<font class=\"sagre\"><center>$Nome</center></font>";
      echo "<table width=\"90%\"  border=\"0\" cellspacing=\"0\" cellpadding=\"0\" align=\"center\">"
      . "  <tr>"
      . "    <td bgcolor=\"#B0C6B8\" align=\"left\" width=\"20%\">Data Inizio:</td>"
      . "    <td width=\"80%\">$Dal</td>"
      . "  </tr>"
      . "  <tr>"
      . "    <td bgcolor=\"#C1DDBA\" align=\"left\" width=\"20%\">Data Fine:</td>"
      . "    <td width=\"80%\">$Al</td>"
      . "  </tr>"
      . "  <tr>"
      . "    <td bgcolor=\"#B0C6B8\" align=\"left\" width=\"20%\">Descrizione:</td>"
      . "    <td width=\"80%\">$Descrizione</td>"
      . "  </tr>"
      . "  <tr>"
      . "    <td bgcolor=\"#C1DDBA\" align=\"left\" width=\"20%\">Informazioni:</td>"
      . "    <td width=\"80%\">$Informazioni</td>"
      . "  </tr>"
      . "</table>
    ";
    echo "</td>\n </tr>\n";
    }
    
    // includiamo uno dei files contenenti la paginazione, commentate l'altro ovviamente
    include("paginazione_2.php");
    //include("paginazione_2.php");
    
    // in questa cella inseriamo la paginazione
    echo " <tr>\n <td height=\"50\" valign=\"bottom\" align=\"center\">$paginazione</td>\n";
    
    echo " </tr>\n</table>\n</div>";
    Qualcuno saprebbe aiutarmi!!! Ve ne sarei veramente grati!!!

    Ciao

  2. #2
    nessuno sa aiutarmi?!!!

    Mi serve aiuto urgentemente!!!

  3. #3
    Non e' semplice entrare nel merito di uo script senza nemmeno sapere quale che sia il problema. Dici solo che sbagli.

    Una cosa incurioscisce pero':
    codice:
    // esecuzione prima query
    $count = mysql_query("SELECT COUNT(id) FROM ".$prefix."_dati");
    $res_count = mysql_fetch_row($count);
    
    // numero totale di records
    $tot_records = $res_count[14];
    $res_count[14]

    perche' mai 14 se estrai solo count() ???? se tu avessi i NOTICE abilitati ne riceveresti uno sicuramente.


    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  4. #4
    Grazie per aver risposto!!

    Però non ho capito la tua risposta!!!

    riusciresti a spiegarti meglio?

    Grazie ciao

  5. #5
    Originariamente inviato da mikyweb
    Grazie per aver risposto!!

    Però non ho capito la tua risposta!!!

    riusciresti a spiegarti meglio?

    Grazie ciao
    Sei tu che ti devi spiegare.

    Io ho chiesto perche' metti $res_count[14] ...

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  6. #6
    io credevo che li bisognasse settare il numero di record presenti nel database!!

    Se non è così... cosa devo fare!!!???

  7. #7
    Originariamente inviato da mikyweb
    io credevo che li bisognasse settare il numero di record presenti nel database!!

    Se non è così... cosa devo fare!!!???
    direi che leggere un guida su php di base sarebbe la risposta adatta....

    http://it2.php.net/manual/it/functio...-fetch-row.php

    devi mettere l'indice numerico a cui e' associata la risposta alla query... nel tuo caso essendo il primo e unico campo sara' l'indice 0. $res_count[0]

    Ma se ti mancano anche altre basiche conoscenze, la vedo dura ....


    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  8. #8
    è vero...!!! Non mi sono proprio accorto di quello!!!

    Sono proprio distratto!!

    Però ora che l'ho provato mi segna che ci sono un tot di pagine... e calcolandole sono esatto al numero di records che ho. Ma purtroop non visualizzo nessun dato!!

    Io faccio una query estrapolando i dati a seconda della provincia e nella mia pagina iniziale ciò funzionava. Ma come mai ora, anche correggendo ciò che mi hai detto tu non funziona?!! Purtroppo la query non passa più nell'url..

    la query è del tipo:

    http://www.miodominio.com/index.php?reg=1&prov=1

    Sapresti dirmi il perchè!!!

    Grazie ancora..

    Ciao!!

  9. #9
    Perche' ??? tu vedi qualche link nel tuo script????

    Io non ne vedo...

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  10. #10
    i link dove li dovrei mettere!!? Sarebbero quelli per le varie pagine? Non mi potresti aiutare a compilare il codice correttamente così che io possa capire una volta per tutte come funziona la paginazione!!!

    Te ne sarei grato!!!

    Grazie

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.