Io ti consiglio di fare delle funzioni sposta-su sposta-giù e non di dare la possibilità di scegliere direttamente la posizione. in questo modo rendi più semplice la gestione:
1. inserimento: va bene come hai fatto, al nuovo elemento dai come posizione count()+1
2. cancellazione: basta che decrementi di uno la posizione degli elementi che hanno
posizione > di quella che cancelli:
Codice PHP:
UPDATE menu SET posizione = posizione -1
WHERE posizione > $posizione_elemento_da_cancellare
3 sposta su : incrementi di uno la posizione del elemento che lo precede. decrementi la posizione dell'elemento da spostare
Codice PHP:
UPDATE menu SET posizione = posizione + 1
WHERE posizione = ($posizione_elemento_da_cancellare -1);
UPDATE menu SET posizione = posizione -1
WHERE id = $id_elemento_da spostare;
4 sposta giù: come sposta-su ma con i segni invertiti