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

    Paginazione PHP, db queries ed altro...

    Salve,
    vi spiego in breve il mio problema.

    Ho delle foto che hanno due valori nel db 'id' e 'anno'.
    Se le ordino per 'id' DESC (dal maggiore al minore) ho una paginazione corretta e fatta in questo modo:

    < 1 2 3 4 5 ... >

    cliccando sui numeri corrispondenti alle pagine correttamente vedo gli id delle foto.
    Ora se clicco sulla foto con id per esempio 34, ho una pagina dove vedo la foto 34 e due link in basso per andare alla foto precedente id 33 e a quella successiva 35. Poi ho un link che mi permette di tornare alle miniature che funziona così:

    Codice PHP:
    // recupero tutte le foto
    $all_rows mysql_num_rows(mysql_query("SELECT * FROM $db WHERE cat = '$cat'"));
    //genero il numero
    $num = ($all_rows+1) - $id;
    //genero la pagina
    $pagina ceil($num/15); 
    la variabile $pagina mi permette di tornare REALMENTE alla pagina dove è contenuta la foto con quell'id in particolare.

    Fino a qui tutto bene.

    I problemi sorgono quando voglio ordinare le foto per '$anno' DESC, capirete che tutti i discorsi fatti per l'id non valgono più...

    come posso fare?

  2. #2

  3. #3
    già utilizzo un limit nella query... infatti se ad esempio ho 50 foto, ne mostro 15 per pagina ottenendo 4 pagine

    1 2 3 4


    ti lascio un link per vedere l'esempio corretto (ordine per id)

    http://www.gigliodellagioventu.com/i...&cat=IL GIGLIO

    e quello non funzionante (ordine per anno)

    http://www.gigliodellagioventu.com/i...&cat=IL GIGLIO


    Prova a vedere così ti renderai conto

  4. #4
    Se cancelli un solo record dalla tabella, il sistema va a remengo.

    Non utilizzare gli ID per gestire la paginazione, utilizza una query per estrarre il record precedente e successivo all'immagine attuale. Per la pagina, passa semplicemente il numero allo script che visualizza l'immagine in modo da poter "tornare indietro" facilmente.

  5. #5
    Ok.
    Come faccio a fare una query che mi fornisce l'immagine precedente e successiva non partendo dall'id della foto corrente?

  6. #6
    Ora, scusa,
    supponiamo che io clicchi la foto con id=27 che si trova per ultima nella pagina 1

    quindi passo il valore 1 di pagina. Ora dalla pagina in cui vedo la foto ingrandita clicco immagine precendente e visualizzo la foto grande con id=26. Il valore della variabile pagina è sempre 1, ma la foto con id=26 è la prima della pagina 2.... quindi quando torno indietro non va alla pagina 2 ma torna alla 1.... capito?

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.