W polu breakfast mają być przechowywane dane, które użytkownik sobie wybierzę z listy, czyli jakieś tam produkty na śniadanie.
No dobrze, ale w jaki sposób? Masz jedną wartość i chcesz tam wcisnąć kilka. Możesz to zrobić np. tak:
$breakfast = implode(',', $_POST['select1']);
$res = mysql_query("UPDATE `users` SET `breakfast` = '$breakfast' WHERE user_id='{$_SESSION['user']}'");
Będziesz miał wartości po przecinku.
Najlepiej żeby przechowywało same id produktów, chociaż na razie przechowuje tekst.
No to musisz podać id produktu jako atrybut value
w <option>
Jak to rozwiązać, żeby dodatkowo jeszcze dodawało tylko do zalogowanego użytkownika?
Nie rozumiem pytania. Masz w zapytaniu: WHERE user_id='{$_SESSION['user']}
. To ci tego nie załatwia?