prova così.
if (isset($_POST['colore']))
$var = implode('-',$_POST['colore']);
così inserisci tutti i colori nel campo del db separati da un trattino.
//Esempio
$var = "blu-rosso"; // il contenuto del tuo campo nel db dopo la selezione
Una volta che recuperi la variabile dal db con strpos vedi cosa contiene. Se il colore è presente nella stringa la spunti altrimenti no.
codice:
Colore Blu <input type="checkbox" name="colore[]" value="blu" <?php echo strpos($var,"blu") === false ? '' : 'checked' ?> >
Colore Verde <input type="checkbox" name="colore[]" value="verde" <?php echo strpos($var,"verde") === false ? '' : 'checked' ?> >
Colore Rosso <input type="checkbox" name="colore[]" value="rosso" <?php echo strpos($var,"rosso") === false ? '' : 'checked' ?> >
nell'esempio le input relative al blu e al rosso saranno checkate.