如何填充下拉列表并将其保存到您的数据库?

时间:2012-12-06 16:10:51

标签: php javascript html mysql

我想填充情绪下拉列表,并使用时间戳将其保存到我的数据库中。同时将情绪与当前用户联系起来。我该怎么做呢?

在我的数据库中,我有一个名为" 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!" />

3 个答案:

答案 0 :(得分:0)

完成此步骤的步骤

  1. Select心情表中的情绪
  2. Loop完成结果并将其放入选择输入
  3. 在用户表格中提交update给定的心情

答案 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时使用它。