+ Rispondi al messaggio
Pagina 1 di 3 123 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 23

Paginazione dati

  1. #1
    alice1 non  in linea Novello
    Sto provando e riprovando, ad impaginare i risultati di una query...ma niente. Scrivo la pagina intera
    Codice PHP:
      <?php 
    $db_host
    =""
    $db_user=""
    $db_password=""
    $db_database=""

    $connessione=mysql_connect($db_host,$db_user,$db_password) or die ("Errore nella connessione al Mysql:" mysql_error()); 
    mysql_select_db($db_database,$connessione) or die ("Errore nella selezione del db:" mysql_error()); 
    $recordxpag 5

    $query=mysql_query("SELECT AnnoRipresa, Regione FROM fotoaereeverticali WHERE AnnoRipresa LIKE '%$_POST[AnnoRipresa]%' 
    AND Regione LIKE '%
    $_POST[Regione]%'"); 

    $risultato=mysql_query($query,$connessione) or die ("Errore nella query:" mysql_error()); 
    $riga mysql_num_rows($risultato); 
    $numpag ceil($riga/$recordxpag); 
    include 
    'paginazione.inc.php'
    if (
    $riga<1
      { 
       echo 
    "non ci sono dati"
        } 
    else 

     
    $da = (($pag-1) * $recordxpag); 
      
    $a $da $recordxpag
      if (
    $a $riga){$a=$riga;} 
     for (
    $i $da$i $a$i++) 

    while(
    $riga=mysql_fetch_array($risultato)) 
    {
    ?> 
    <tr> 
    <td colspan="2"> 
    <?php 
    print ("<img src=".$riga[Foto].">");?> 
    </tr> 
    <tr> 
    <td height="22" width="20%"><h4><b>Anno Ripresa</b></td> 
    <td height="22" width="20%"><h4><b>Regione</b></td> 
    </tr> 
    <tr><?php print("<tr>"); 
    print (
    "<td>$riga[AnnoRipresa]</td>"); 
    print (
    "<td>$riga[Regione]</td>"); 
    print(
    "</tr>");
    }}}
    ?>
    Questa &#232; la pagina paginazione.inc.php
    Codice PHP:
    <?php 
       
    //numero di link da visualizzare nel menu. 
    $num_link=5
    $querystring ""
    // Recupero il numero di pagina corrente. 
    $pag = isset($_GET['pag'])? $_GET['pag'] : 1

    //se ho meno link di quanti ne voglio visualizzare li visualizzo tutti 
    if($numpag <= $num_links
      { 
       for (
    $pagina 1$pagina <= $numpag$pagina++) 
         { 
          if (
    $pagina == $pag
            echo 
    "<a class=\"pag_selected\" href\"=?pag={$pagina}{$querystring}\" title=\"Vai a pagina $pagina\"> $pagina </a> "
          else 
            echo 
    "<a class=\"pag_link\" href=\"?pag={$pagina}{$querystring}\" title=\"Vai a pagina $pagina\"> $pagina </a> "
         } 
      } 
    //se la pag corrente è tra le prime $num_links/2 --> stampo i primi $nun_links link 
    else if($pag <= ceil($num_links/2)) 
      { 
       for (
    $pagina=1$pagina<=$num_links$pagina++) 
         { 
          if (
    $pagina == $pag
            echo 
    "<a class=\"pag_selected\" href\"=?pag={$pagina}{$querystring}\" title=\"Vai a pagina $pagina\"> $pagina </a> "
          else 
            echo 
    "<a class=\"pag_link\" href=\"?pag={$pagina}{$querystring}\" title=\"Vai a pagina $pagina\"> $pagina </a> "
         } 
       echo 
    "<a class=\"pag_link\" href=\"?pag={$numpag}{$querystring}\" title=\"Vai all'ultima pagina\"> >> </a> "
      } 

    //se la pag corrente è tra le ultime $num_links/2 --> stampo gli ultimi $nun_links link 
    else if($pag > ($numpag-ceil($num_links/2))) 
      { 
       echo 
    "<a class=\"pag_link\" href=\"?pag=1{$querystring}\" title=\"Vai alla prima pagina\"> << </a> "
       for (
    $pagina=$numpag-$num_links+1$pagina<=$numpag$pagina++) 
         { 
          if (
    $pagina == $pag
            echo 
    "<a class=\"pag_selected\" href=\"?pag={$pagina}{$querystring}\" title=\"Vai a pagina $pagina\"> $pagina </a> "
          else 
            echo 
    "<a class=\"pag_link\" href=\"?pag={$pagina}{$querystring}\" title=\"Vai a pagina $pagina\"> $pagina </a> "
         } 
      } 

    //Altrimenti la pagina corrente è una dell centrali --> stampo i $nun_links/2 link prima ed $nun_links/2 link dopo 
    else 
      { 
       echo 
    "<a class=\"pag_link\" href=\"?pag=1{$querystring}\" title=\"Vai alla prima pagina\"> << </a> "
       for (
    $pagina $pag-ceil($num_links/2-1); $pagina <= $pag+ceil($num_links/2-1); $pagina++) 
         { 
          if (
    $pagina == $pag
            echo 
    "<a class=\"pag_selected\" href=\"?pag={$pagina}{$querystring}\" title=\"Vai a pagina $pagina\"> $pagina </a> "
          else 
             echo 
    "<a class=\"pag_link\" href=\"?pag={$pagina}{$querystring}\" title=\"Vai a pagina $pagina\"> $pagina </a> "
         } 
       echo 
    "<a class=\"pag_link\" href=\"?pag=$numpag\" title=\"Vai all'ultima pagina\"> >> </a> "
      } 
    ?>
    E questo &#232; l'errore che mi da
    Codice PHP:
    Errore nella query:You have an error in your SQL syntaxcheck the manual that corresponds to your MySQL server version for the right syntax to use near 'Resource id #2' at line 1 

  2. #2
    L'avatar di Master85
    Master85 ora  in linea Moderatore Globale Ultimo blog: Eclipse: Un IDE per PHP e Python
    Ciao Alice,
    beh, credo che il problema sia localizzabile in tutto il codice, in definitiva stai confondendo parecchie cose. Ad esempio, non intravedo la clausola LIMIT SQL, fondamentale per eseguire la paginazione dei dati in PHP. Ti consiglio di dare uno sguardo a questo semplice articolo http://forum.masterdrive.it/showthread.php?t=10265.


  3. #3
    alice1 non  in linea Novello
    Hai ragione ho fatto un p di confusione....continuando a cercare informazioni su come impaginare i risultati della query ho elaborato queste due pagine di codice....che naturalmente mi danno problemi
    <?php 
    $db_host="..";
    $db_user="..";
    $db_password="..";
    $db_database="..";
    $connessione=mysql_connect($db_host,$db_user,$db_password) or die ("Errore nella connessione al Mysql:" . mysql_error());
    mysql_select_db($db_database,$connessione) or die ("Errore nella selezione del db:" . mysql_error());
    
    $count = "SELECT COUNT Id FROM nome_tabella" or die ("Errore nella selezione del db:" . mysql_error());
    $res_count = mysql_fetch_row($count);
    
    // numero totale di records
    $tot_records = $res_count[0];
    
    // risultati per pagina(secondo parametro di LIMIT)
    $per_page = 5;
    
    // 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>\n";
    
    $query="SELECT AnnoRipresa, Id, FROM nome_tabella WHERE AnnoRipresa LIKE '%$_POST[AnnoRipresa]%'
    AND Regione LIKE '%$_POST[Regione]%'LIMIT $primo, $per_page"; 
    $risultato=mysql_query($query,$connessione) or die ("Errore nella query:" . mysql_error()); 
    while($riga=mysql_fetch_array($risultato))
    {?>
    <tr>
    <td height="22" width="20%"><h4><b>Anno Ripresa</b></td>
    <td height="22" width="20%"><h4><b>Sensore</b></td>
    </tr>
    <tr>
    <?php echo "<tr>";
    echo "<td><a href=\"page.php?id=" . $riga[AnnoRipresa] ."\"></td>";
    echo "<td><a href=\"page.php?id=" . $riga[Sensore] ."\"></td>";
    echo "</tr>";?>
    } 
    // includo la pagina contenente la paginazione
    INCLUDE "paginazione_2.php";
    
    
    // e inserisco la paginazione in una cella
    echo " <tr>\n <td height=\"50\" valign=\"bottom\" align=\"center\">$paginazione</td>\n";
    
    echo " </tr>\n</table>\n</div>";
    ?>
    
    paginazione_2.php
    <?php
    
    if($current_page == 1) { // se sono nella prima pagina
    $precedente = "<< precedente";
    } else { // altrimenti
    $previous_page = ($current_page - 1);
    $precedente = "<a href=\"?page=$previous_page\" title=\"Vado alla pagina precedente\"><< precedente</a>";
    }
    
    if($current_page == $tot_pages) { // se sono nell'ultima pagina
    $successiva = "successiva >>";
    } else { // altrimenti
    $next_page = ($current_page + 1);
    $successiva = "<a href=\"?page=$next_page\" title=\"Vado alla pagina successiva\">successiva >></a>";
    }
    $paginazione = "$precedente   $successiva";
    
    ?>
    
    Questi sono i due errori che mi da
    Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in /home/mhd-01/www........php on line 30
     
    Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/mhd-01/......php on line 60
    
    e le due linee 30 e 60
    $res_count = mysql_fetch_row($count);
    
    while($riga=mysql_fetch_array($risultato))
    

  4. #4
    alice1 non  in linea Novello
    Ora...come per magia mi da solo l'errore corrispondente alla linea 30
    Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in /home/mhd-01/www.space2place.org/htdocs/fotografie_aeree_verticali.php on line 30
    
    E funziona solo in parte....effettuata la ricerca mi riesce a visualizzare i primi cinque records in una pagina, poi se clicco su 'successiva' mi appare una seconda pagina con altri cinque record che corrispondono ai primi cinque record del DB e non a quelli che rispondono ai criteri di ricerca.
    Spero di essere stata chiara.

  5. #5
    L'avatar di Master85
    Master85 ora  in linea Moderatore Globale Ultimo blog: Eclipse: Un IDE per PHP e Python
    Ciao Alice,
    scusa, ti ho segnalato il link all'articolo, esclusivamente per farti un'idea, ma la regola del "copia/incolla" non funziona sempre. Specialmente nel tuo caso:

    scrivi:

    Codice PHP:
    $count "SELECT COUNT Id FROM nome_tabella" 
    quindi effettui un COUNT su tutti i dati caricati nella tabella e successivamente cerchi di selezionare solo determinati records con

    Codice PHP:
    $query="SELECT AnnoRipresa, Id, FROM nome_tabella WHERE AnnoRipresa LIKE '%$_POST[AnnoRipresa]%'
    AND Regione LIKE '%
    $_POST[Regione]%'LIMIT $primo$per_page"
    E' ovvio che sbagli.


  6. #6
    alice1 non  in linea Novello
    A parte che l'indirizzo che mi hai postato rimandava ad un articolo intitolato "Che cosa un Guestbook " che non ho neache letto...e poi non ho fatto assolutamente copia/incolla. Ho soltanto cercato di comprendere un p di codice tratto da internet
    (se vuoi i link te li posto io http://forum.guidoz.it/viewtopic.php...08ece4deacee41
    http://www.mrwebmaster.it/tutorial/php/tutorial455.htm
    http://www.risorse.net/magazine/leggi.asp/id-113
    http://php.html.it/articoli/leggi/85...one-di-dati/3/)
    e di riadattarlo al mio caso specifico...tutto l...vuol dire che continuer a cercare di capire, come ho sempre fatto...

  7. #7
    L'avatar di Master85
    Master85 ora  in linea Moderatore Globale Ultimo blog: Eclipse: Un IDE per PHP e Python
    Ciao Alice,
    il link che ti ho postato, rimanda ad un articolo che spiega come realizzare un guestbook, che a sua volta contiene una sezione relativa alla paginazione dei dati. E' completo e spiega come risolvere il tuo problema. Ma ovviamente per capire e' necessario leggere


  8. #8
    alice1 non  in linea Novello
    Lo legger con attenzione e poi ti far sapere

  9. #9
    alice1 non  in linea Novello
    Questa volta non mi si pu dire di aver scopiazzato di qu e di l.....ho letto con attenzione l'articolo al link http://forum.masterdrive.it/showthread.php?t=10265 e ho cercato di adattarlo al mio problema.
    Ora riesco a visualizzare i 3 risultati in una pagina, mi compaiono i link alle altre pagine con il resto dei risultati, ma quando ci clicco sopra mi dice 'Impossibile trovare la pagina', anche se l'indirizzo mi sembra quello giusto es.
    http://www....../default.php?inizio=0
    
    <?php 
    $db_host="...";
    $db_user="...";
    $db_password="...";
    $db_database="...";
    $connessione=mysql_connect($db_host,$db_user,$db_password) or die ("Errore nella connessione al Mysql:" . mysql_error());
    mysql_select_db($db_database,$connessione) or die ("Errore nella selezione del db:" . mysql_error());
    
    $numero_record = 3; 
    if(!isset($GET["inizio"])){ 
        $inizio = 0; 
    }else{ 
        $inizio = $GET["inizio"]; 
    }  
    $query_limit="SELECT AnnoRipresa, Id,  Foto FROM nome_tabella WHERE AnnoRipresa LIKE '%$_POST[AnnoRipresa]%'
     order by Id desc limit $inizio, $numero_record" or die ("Errore :" . mysql_error());; 
    
    $query = mysql_query($query_limit);
    
    $select = "SELECT AnnoRipresa, Id, FROM nome_tabella WHERE AnnoRipresa LIKE '%$_POST[AnnoRipresa]%'"; 
    
    $query2 = mysql_query($select); 
    
    $numero_record_totali = mysql_numrows($query2);  
    
    $numero_pagine = ceil($numero_record_totali/$numero_record);  
    $risultato=mysql_query($query_limit,$connessione) or die ("Errore nella query:" . mysql_error()); 
    while($riga=mysql_fetch_array($risultato))
    {?>
    <tr>
    <td height="22" width="20%"><h4><b>Anno Ripresa</b></td>
    <td height="22" width="20%"><h4><b>Id</b></td>
    </tr>
    <tr>
    <?php echo "<tr>";
    echo "<td>". $riga['AnnoRipresa'] . "</td>";
    echo "<td>" . $riga['Id'] . "</td>";
    echo "</tr>";
    } 
    if($numero_pagine > 1){ 
         for($pagina = 1; $pagina <= $numero_pagine; $pagina++){ 
              if($pagina == $pagina_corrente){ 
                   echo"<b>".$pagina."</b>"; 
              }else{ 
                   echo"<a href='default.php?inizio=".(($pagina - 1) * $numero_record)."'>".$pagina."</a>"; 
              } 
         } 
    } 
    ?>
    
    Penso che il problema sia nella parte di codice in cui si impostano il numero di record da visualizzare e quelli delle pagine successive ma non sono un'esperta (e si vede) devo solo portare a termine questo maledetto progetto e poi abbandoner l'informatica per sempre....

  10. #10
    L'avatar di Master85
    Master85 ora  in linea Moderatore Globale Ultimo blog: Eclipse: Un IDE per PHP e Python
    Ciao Alice,
    continuo a non capire, "Impossibile trovare la pagina" non e' un problema del PHP e neanche di codice. Questa volta da quanto hai scritto, il codice sembra non presentare errori. Una sola domanda ? Ma la pagina "default.php" esiste ?


+ Rispondi al messaggio
Pagina 1 di 3 123 ultimoultimo

Potrebbero interessarti anche ...

  1. Paginazione elenco dati da txt
    Da Missileback nel forum PHP
    Risposte: 7
    Ultimo Post: 17-05-2015, 21:17
  2. Problemi con la paginazione dei dati
    Da lorymacri nel forum PHP
    Risposte: 3
    Ultimo Post: 29-01-2009, 10:26
  3. Paginazione dati
    Da condor1972 nel forum PHP
    Risposte: 1
    Ultimo Post: 18-11-2006, 07:56
  4. [ASP.Net]Paginazione dei dati
    Da BrandonHeat nel forum ASP 3, ASP .Net
    Risposte: 3
    Ultimo Post: 07-04-2006, 17:48
  5. Paginazione dati
    Da kenzo2000 nel forum PHP
    Risposte: 1
    Ultimo Post: 15-01-2006, 17:58