我想填充情绪下拉列表,并使用时间戳将其保存到我的数据库中。同时将情绪与当前用户联系起来。我该怎么做呢?
在我的数据库中,我有一个名为" checkin"其中包括:ID,时间,FKMoods(情绪列表的外键)和FKUsers(用户的外键)。
现在我在" page.php":
中有一个名为checkin的表单<form id="checkin" action="checkin/checkin.php" method="POST">
<label for="checkinMood">Select your current mood :</label>
<select id="checkinMood" class="SelectMood"></select><br />
<input type="submit" id="checkin-button" value="Update!" />
答案 0 :(得分:0)
答案 1 :(得分:0)
不要将html选项列表保存到数据库中。当您想要更改选项时,编辑太难了。存储这样的情绪列表:
CREATE table moods
mood_id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
mood VARCHAR(45);
要制作选项列表,请查询心情表并循环浏览结果创建选项:
<option value='{$mood["mood_id"}'>{$mood["mood"]}</option>
要存储用户的心情,请使用users
更新mood_id
表。
答案 2 :(得分:0)
使用连接的SQL查询首先从其他表中提取外键值/行 - 假设您使用的是mysql - 使用每个人都知道的非常基本的函数(无需考虑使用mysqli或任何pdo或lib): / p>
SELECT * FROM checkin c LEFT JOIN listofmoods lm ON c.FKMoods = lm.FKMoods LEFT JOIN listofusers lu ON c.FKUsers = lu.FKUsers ORDER BY c.ID ASC
(或者你想要排序)
现在你拥有了所需的所有领域。然后运行mysql fetch来创建列表,如:
$query=mysql_query(-thequery listed above-);
while($fetch=mysql_fetch_assoc($query))
{
$moodselect.='<option value="'.$fetch['FKMoods'].'">'.$fetch['whateverfieldlabelthemoodnameyouhaveonmoodstable'].'</option>';
}
这会弹出一个$ moodselect,其中包含必要的选项。然后你可以把它推到你的例子中的选择中。
您可能需要在表单中的某个隐藏字段中输入用户ID。或者,如果您的用户系统自动从会话中识别出用户,则可以在将表单发布到checkin.php时使用它。