Votre requête SQL est incorrecte :
$sql="INSERT INTO work_details (project, work_description, percentage, timeIn, timeOut, id) VALUES ('$val', '$id')";
Vous avez 6 colonnes à définir et ne fournissez que 2 valeurs.
Au lieu d'itérer sur $list
et en exécutant une requête pour chaque valeur, vous devriez plutôt construire la requête en itérant et ne l'exécuter qu'une seule fois à la fin lorsqu'elle est terminée. Exemple :
foreach (...) {
$sql = $sql . "'$val', ";
...
}
$sql = "INSERT INTO work_details (project, work_description, percentage, timeIn, timeOut, id) VALUES (" . $sql . "'$id')";
C'est juste l'idée.. Je ne suis pas un gars PHP donc il y a probablement des erreurs dans ce que j'ai écrit.
MODIFIER :Cela suppose que l'ordre est toujours le même dans la liste.