Ciao! Ho il seguente problema.

Ho degli utenti, che possono essere iscritti a nessuna, una, o più gare.
Dall'area riservata, tramite form, devo poterli iscrivere o cancellare a/da una/più gare (oltre a migliaia di altre cose).

Ho predisposto una checkbox di questo tipo:
[ ] gara 1
[ ] gara 2
[ ] gara 3

effettuo una select dal database, e in base all'id dell'utente estraggo gli id delle gare cui è iscritto, e stampo un checked per ogni checkbox corrispondente.

Il codice della checkbox è di questo tipo:
<input type="checkbox" name="idgara[]" value="".$idgara.""> ($idgara viene estratto dal database, tabella gare)

Tutti i valori quindi mi confluiscono nell'array $_POST['idgara']=$idgara.

Il problema si presenta quando ho questa situazione:
[x] gara 1
[x] gara 2
[ ] gara 3

e tolgo la spunta dalla gara 1. A quel punto l'array $idgara contiene un solo valore, mentre nel database ho due relazioni relative a quel pilota, con due diverse gare.

Come faccio a capire quale delle due relazioni va cancellata? E come?

Avevo pensato di fare una select di tutte le relazioni dell'utente, verificare se il numero di record recuperati è maggiore degli elementi dell'array $idgara, e a quel punto so che si intende cancellare una relazione. Ma a questo punto come faccio a capire quale?!

Si potrebbe fare un foreach ($idgara as $key => $value) con all'interno una select * from tb_utentigare where idutente='$id' and idgara='$value', e se mi dà un risultato so che quello deve restare, ma se nell'array manca quello che devo cancellare, come faccio a cancellarlo?!?!

povera me