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

Save value from the drop down menu into database (php, mysql)

我有一个下拉菜单,显示数据库中的类别(table category,有两列:category_idcategory_name)。第二个 table 是 photos 并且它有一个外键 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>";

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

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

你在选项字段的值中写了 category_name,但你可能想在这里使用 category_id。

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

首先,您可以将 select 名称更改为 'category_id',并将选项值更改为 'category_id'(因为这是您将保存在数据库中的值)。然后,您需要将 select 选项包装在一个表单标签中。您的表单方法将是 "post",操作可能类似于 save_category.php。在您的 save_category.php 中,您需要按以下方式收集 post $_POST['category_id'] 并以与提取 category_id 和 [=19 的方式类似的方式使用查询插入数据库=].

太重了: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 查询函数

将值存储在数据库中