mira, en teoría se trata de tener una colección con los IDs de los elementos seleccionados por el usuario...
Código PHP:
$foo = array(1, 3, 5);
ahí, ya tenemos los elementos
1,
3 y
5 de nuestra lista...
ahora debemos iteras la lista completa, y solo marcar los que ya tenemos
Código PHP:
$bar = array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9);
foreach ($bar as $key => $value)
{
if (in_array($value, $foo)) echo ' checked="checked" ';
// ...
}
el concepto es el mismo, simplemente comparamos si ya existe el valor en una lista previa...
obviamente tu debes entender que
$bar y
$foo son valores que reconoces como la lista de valores en la BD, y los valores del usuario... algo así como
productos y
productos seleccionados, respectivamente... (: