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

    Come si fa a gestire il passaggio tra le pagine?

    ciao a tutti

    sto importando nella pagina delle foto degli utenti, tutte le foto dalla tabella foto_utenti ed ho impostato un contatore che fa in modo che si visualizzino 5 foto per riga.
    Ora il problema è che arrivato a 20 foto (4righe) voglio visualizzare le successive 20 in una seconda pagina.
    Come devo fare?

  2. #2
    Utente di HTML.it
    Registrato dal
    Mar 2004
    Messaggi
    1,141
    paola.devitis@lastminutetour.comDa quanto ho capito tiri fuori le immagini dal DB...

    visualizzi le prime N (20) immagini
    fai il link per visualizzare le successive in cui gli passi via get un parametro che gli dice di visualizzarti le prossime N+20 immagini...

    supponendo che il parametro per puntare alle successive sia $_GET['start'], sarà $_GET['start']=20

    così ti basterà fare la query:
    SELECT * FROM tabella LIMIT $_GET['start'],20
    e ti estrpola le prossime 20

    Per le precedenti sarà una cosa similare solo che quello che gli passerai via get sarà N-20...

    Per le prime 20 immagini:
    farai un controllo per vedere se è stato passato qualcosa in get, altrimenti verrà impostato di default $_GET['start']=0 che nella query diventerà:
    SELECT * FROM tabella LIMIT 0,20 visualizzandoti le prime N

    Spero di essere stato chiaro e soprattutto che ti sia servito a qualcosa...

    Ora devo scappare.
    Ciao

  3. #3
    La cosa è un pò più complessa in quanto:
    Sto elaborando una pagina che visualizza le immagini di un db, servendomi di un'altra pagina 'action.php' la quale definisce le azioni $_GET e la variabili.
    Ora, volendo visualizzare 20 foto per pagina, mi sto trovando in difficoltà a definire un'altra variabile ad esempio $_GET['start'], che mi permetta di interagire con LIMIT ed utilizzarla correttamente anche nel file 'action.php'.

    Lo script delle 2 pagine è il seguente:

    1. Pagina che visualizza le immagini
    Codice PHP:
    <?php 
    // Connesione a mysql 
    @mysql_connect("localhost""nori""nori") or die("Connessione fallita !"); 
    // Selezione database 
    @mysql_select_db("planetmodels") or die("Selezione Database fallita !"); 
    // Tipi di file visualizzabili 
    $visualizzabili = array("image/jpeg""image/pjpeg""image/gif""image/png"); 

    //QUI IMPOSTO IO IL LIMITE A 20 MA DOVREBBE ESSERE IN UNA VARIABILE AD ESEMPIO $_GET['start'] 
    $query "SELECT * FROM foto ORDER BY foto_id LIMIT 20"
    $select = @mysql_query($query) or die("Query fallita !"); 

    echo 
    "<table width=\"734\" height=\"29\" border=\"1\" align=\"center\" cellpadding=\"0\" cellspacing=\"1\" bgcolor=\"#FFFFFF\" bordercolor=\"#F2F2FD\">"
         echo 
    " <tr>\n"
         echo 
    "<td align=\"center\" valign=\"top\">";  
         echo 
    "<div align=\"center\"><span class=\"testoros\">pagina </span>";  
         echo 
    "<a class=\"testoblu\" href=\"action.php?start=???\"> 1 </a>"//ANCHE QUI NON SAPREI COME COMPORTARMI 
         
    echo "<a class=\"testoblu\" href=\"action.php?start=???\"> 2 </a>"//IDEM 
         
    echo "<a class=\"testoros\" href=\"#\">successive&gt;</a>"
         echo 
    "</div>\n"
         echo 
    "</td>\n"
         echo 
    " <tr>\n"
    echo 
    "</table>\n"

    echo 
    "<div align=\"center\">";  
    echo 
    "<table border=\"1\" width=\"732\">";  
    $colonna 0;  
    echo 
    " <tr>\n";  
    $nr mysql_affected_rows();  //In nr mette il numero di immagini totali 
    for ($i 0$i<=$nr$i++){ 
    $result = @mysql_fetch_array($select); 
      
    //Istruzioni per inserire l'immagine 
      
    if(in_array($result["foto_tipo"], $visualizzabili)) { 
             echo 
    "<td align=\"center\">"
             echo 
    "<img src=\"action.php?action=view&Id=" $result["foto_id"] . "\">"
             echo 
    "
    \n"

             echo  
    $result["foto_modelnome"]; 
             echo 
    "</td>\n"
       
    $colonna++; 
       } 
       if (
    $colonna 5) { 
       
    //Istruzioni per mettere una nuova riga 
       
    echo "</tr>\n"
       echo 
    " <tr>\n"
       
    $colonna 0;  
       } 
    }  
    echo 
    "</table>\n</div>\n"
    // Chiudiamo la connesione a mysql 
    @mysql_close(); 
    ?>
    2. action.php

    Codice PHP:
    <?php 

    //ANCHE QUI DOVREI UTILIZZARE LA $_GET['start'] MA MI TROVO IN DIFFICOLTA' 
    if(!isset($_GET)) { 


    else { 
    $_GET $HTTP_GET_VARS

    if(
    $_GET["action"] && $_GET["Id"] && is_numeric($_GET["Id"])) { 
    // Connesione a mysql 
    @mysql_connect("localhost""nori""nori") or die("Connessione fallita !"); 
    // Selezione database 
    @mysql_select_db("planetmodels") or die("Selezione Database fallita !"); 

    switch(
    $_GET["action"]) { 
    // Visualizzazione 
    case "view" 
    $query "SELECT foto_1small, foto_tipo " 
             
    "FROM foto " 
             
    "WHERE foto_id = '" $_GET["Id"] . "' "

    $select = @mysql_query($query) or die("Query fallita !"); 
    $result = @mysql_fetch_array($select); 

    $data $result["foto_1small"]; 
    $type $result["foto_tipo"]; 

    Header("Content-type: $type"); 
    echo 
    $data
    break; 

    default : 
    // Default case, nessuna azione 
    break; 

    // endswitch 
    // Chiudiamo la connesione a mysql 
    @mysql_close(); 
    //endif 


    ?>
    ti sarei veramente molto grato se potessi aiutarmi proprio anche nella modifica dello script

  4. #4
    Utente di HTML.it
    Registrato dal
    Mar 2004
    Messaggi
    1,141
    Sinc non ho molto ben capito il tuo codice, comunque, il passaggio della variabile $_GET['start'] non ti serve nella pagina 'action.php'( che da quanto ho capito è quella che fa la visualizzazione dell'immagine).

    Ti faccio un esempio di quello che intendevo io, l'ho fatto facendo visualizzare dei numeri, però il concetto è quello, sempre che ti vada bene :
    Codice PHP:
    <?php
    $numToShow 
    2;
    $arr = array(1,2,3,4,5,6,7,8,9,10);
    $start = (isset($_GET['start'])) ? (int)$_GET['start'] : 0;

    /*Una volta che recuperi il valore di $_GET['start']
    fai la query: 
    "SELECT * FROM tabella LIMIT ".$start.",".$numToShow.";"*/

    for($i=$start,$j=0$j $numToShow$j++,$i++)
    {
      echo 
    "Numero : ".$arr[$i]."
    "
    ;
    }


    if(
    $start-$numToShow >= 0)
    {
    ?>
    [url="pag.php?start=<?=($start-$numToShow);?>"]precedente[/url]
    <?php

    }

    if((
    $start+$numToShow) < count($arr))
    {
    $next $start+$numToShow;
    ?>
    <a href="pag.php?start=<?=($start+$numToShow);?>" />
    successiva</a>
    <?php
    }
    ?>
    PS naturalemente,se lo script dovesse andarti bene, sarebbe da adattare alle tue esigenze.

    ciao

  5. #5
    Grazie Ken. Sei grande!

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.