La tua query SQL non è corretta:
$sql="INSERT INTO work_details (project, work_description, percentage, timeIn, timeOut, id) VALUES ('$val', '$id')";
Hai 6 colonne da impostare e fornisci solo 2 valori.
Invece di scorrere su $list
ed eseguendo una query per ogni valore, dovresti piuttosto costruire la query durante l'iterazione ed eseguirla solo una volta alla fine quando è completa. Esempio:
foreach (...) {
$sql = $sql . "'$val', ";
...
}
$sql = "INSERT INTO work_details (project, work_description, percentage, timeIn, timeOut, id) VALUES (" . $sql . "'$id')";
Questa è solo l'idea.. Non sono un tipo PHP quindi ci sono errori probabili in quello che ho scritto.
MODIFICA :Questo presuppone che l'ordine sia sempre lo stesso nell'elenco.