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

    cambiare posizione a un immagine nel database

    ciao a tutti.
    Molte volte mi capita, quando faccio un pannellino di controllo, che mi si chiede di dare la possibilità all'utente di mettere l'ordine a delle immagini.
    Pensavo di mettere delle iconcine di freccie di fianco alle immagini, che una volta premute, dessero la possibilità di andare su e giu nella lista di immagini.

    Quindi pensavo di fare un campo "position" associato all'immagine che si autoincrementasse. Ma gia qui mysql mi da l'errore che ci può essere un solo campo autoincrement e dev essere primario (cioè l'id).

    Poi quale query si puo' fare per recuperare il numero del campo "position" del record precedente o successivo?

    avete un idea di come si possa fare?

    grazie mille!

  2. #2
    Aggiungi un campo position. In fase di inserimento in fondo alla lista, utilizza MAX() per ottenere l'ultima "posizione" ed inserisci il valore di position come MAX() + 1. In fase di inseriment in mezzo alla lista, esegui una query di UPDATE con position = position + 1 se position >= della posizione in cui vuoi inserire il nuovo record. Poi esegui la query di INSERT.

  3. #3
    Grazie mille!
    allora con MAX() mi sono risolto per inserire sempre poistion piu' grandi di uno rispetto alla position piu' grande.

    Ora se alla freccina in su di un'immagine per esempio dovessi fare aumentare position di 1 allora non sarebbe un problema. Il problema sta nel fatto che position deve scambiarsi di valore con il relativo precedente o successivo record.


  4. #4
    non riesco proprio a trovare il modo di selezionare i record superiore o inferiore.

    Nel senso, ho questi dati

    id=1, nome=fiore.jpg, position=3
    id=3, nome=vaso.jpg, position=4
    id=5, nome=cane.jpg, position=7
    id=11, nome=gatto.jpg, position=9
    id=23, nome=cavallo.jpg, position=12

    Come faccio per esempio per position=7 a dire prendimi il record superiore (position=4) e scambiami i valori di position....

    mamma mia mi sa che non si puo'!!!! rincuoratemi!!!

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.