Usa un SELECT Multiple de HTML
Código PHP:
<?
// conectas a tu BD .. etc ..
$sql="SELECT id,nombre FROM tabla";
$resultado=mysql_query($sql);
echo "<select name=\"opciones[]\" multiple size=\"5\">\n";
while ($row=mysql_fetch_array($resultado){
echo "<option value=\"".$row['id']."\">".$row['nombre']."</option>\n";
}
echo "</select>\n";
En PHP (en el script de proceso) .. recibiras un array en $opciones:
Código PHP:
foreach ($_POST['opciones'] as $valor){
echo $valor."<br>";
}
Un saludo,