将值从下拉菜单保存到数据库中(php,mysql)

时间:2015-01-01 22:12:34

标签: php mysql database drop-down-menu

我有一个下拉菜单,显示数据库中的类别(表category,有两列:category_idcategory_name)。第二个表是photo s,它有一个外键category_id

显示数据库下拉菜单的代码:

$sql = "SELECT category_id, category_name FROM category";

$result = mysql_query($sql);

echo "<select name='category_name'>";
while ($row = mysql_fetch_array($result)) {
echo "<option value='" . $row['category_name'] . "'>" . $row['category_name'] . "</option>"; }

echo "</select>";

现在我不知道如何在数据库中保存所选的类别选项。任何帮助表示赞赏...

3 个答案:

答案 0 :(得分:1)

那很重:D

(1)您需要将select元素包含在一个表单中(表单是一个包含数据的HTML元素,可以完全提交给服务器,在此处了解有关表单的更多信息http://www.w3schools.com/html/html_forms.asp

<form action='x.php' method='post'>
  <select .....
</form>
  

其中 x 是php文件的路径,我们将在其中执行必要的处理以保存我们的数据

(2)可选步骤 - 您还需要将每个选项的值设置为类别的id而不是它的名称

echo "<option value='{$row['category_id']}'>{$row['category_name']}</option>";

(3)现在在x.php中,我们需要读取字段值并将其存储在DB中

<?php 
  $value = $_POST['category_name'];
  // $value now stores the selected category
?>

您现在要做的就是使用my sql查询功能将值存储在数据库中

答案 1 :(得分:0)

echo "<option value='" . $row['category_name'] 
     . "'>" . $row['category_name'] . "</option>";

您在选项字段的值中编写category_name,但您可能希望在此处使用category_id。

用户提交后,您可以使用$_POST['category_name']获取类别ID。 这是因为您的表单名称为 category_name ,您可能还希望将表单名称更改为 category_id

答案 2 :(得分:0)

首先,您可以将选择名称更改为&#39; category_id&#39;以及&#39; category_id&#39;的选项值(因为这是你将在db中保存的值)。然后,您需要将选择选项包装在表单标记中。您的表单方法将是&#34; post&#34;并且动作可能类似于save_category.php。在save_category.php中,您需要按照以下$_POST['category_id']收集帖子,并使用与提取category_id和category_name的方式类似的方式插入数据库。