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

    Compattare gli id vuoti di Mysql

    Salve a tutti, ho creato una gallery dinamica che visualizza le foto in un popup, e quando si apre il popup gli ho inserito i tasti per andare alla foto precedente o successiva.

    Il problema che i miei tasti :

    per andare avanti prendono l'id attuale +1
    per andare indietro id attuale -1

    insomma una cosa semplicissima fin qui tutto bene.

    Il problema è che quando cancello un record, naturalmente mi si crea un buco nel database e quindi tra una foto e un'altra mi visualizza un popup vuoto. Devo cliccare ancora per andare all'id contenente la prossima foto per vederlo pieno.

    Come faccio a dire al mio script di saltare i buki del database? Oppure c'è un modo di compattare questi buki in modo da nn trovarmi in questo problema?

    Grazie a tutti

  2. #2
    Esegui una query che selezioni solo un recor (LIMIT 1) maggiore o minore all'ID della pagina precedente (maggiore se ti sposti avanti, minore se ti sposti indietro).

  3. #3
    ma è quello che faccio io......così nn salta i record vuoti.......

  4. #4
    ma è quello che faccio io......così nn salta i record vuoti.......
    Mi sembra alquanto improbabile.

    Ammesso di avere questa tabella:

    ID

    1
    2
    4
    6
    7

    e stai visualizzando l'immagine con ID = 4. I link che andrai a creare saranno 2 e 6, ossia il primo record < 4 (ordine decrescente) ed il primo record > 4 (ordine crescente).

  5. #5
    ok allora mi posteresti un esempio?
    ecco la mia query:

    $galle=mysql_query("select * from fotoalbum where id='$chiave' ");

    $chiave sarebbe la chiave che associo ad ogni singola foto

    ecco i link che portano al popup con l'id +1 e -1




    Ora mi dici tu come lo modificheresti?

  6. #6
    Ora mi dici tu come lo modificheresti?
    Nel modo in cui ti è stato descritto. Esegui due query per selezionare gli ID delle due foto (quella con ID precedente e quella con ID successivo).

  7. #7
    ok ora ci provo

  8. #8
    due query tipo queste?

    $avanti=mysql_query("select max (id) from fotoalbum where id='$chiave' limit 1 ");
    $indietro=mysql_query("select min (id) from fotoalbum where id='$chiave' limit 1 ");

  9. #9
    No.

    Devi selezionare il primo record (LIMIT 1) > di $chiave ordinando i risultati per ordine crescente ed il primo record < di $chiave ordinando i risultati per ordine decrescente.

  10. #10
    mi scrivi la query tu così capisco meglio

    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 © 2024 vBulletin Solutions, Inc. All rights reserved.