存储mysql数据库中的下拉选项,PHP

时间:2011-05-06 13:50:21

标签: php mysql select insert option

从我的下拉选择框中选择时,我需要存储用户选择的选项,并且在我的表单中提交时,存储在我的MYSQL数据库中。

我已经存储和显示的信息很好,我现在只是想添加更多内容。我尝试使用相同的方法,但我不能让它存储我想要的东西。

选择下拉列表在我的表单中显示如下:

  <span> Difficulty: </span> 
   <select>
              <option type="text" name="easy" id="easy" value="easy">easy</option>
              <option type="text" name="comfortable" id="comfortable" value="comfortable">comfortable</option>
              <option type="text" name="hard" id="hard" value="hard">hard</option>
              <option type="text" name="veryhard" id="veryhard" value="veryhard">very hard</option>
              <option type="text" name="hardest" id="hardest" value="hardest">Hardest ride in the world!</option>
            </select>
  </label>

我试图用它发送它:

    $difficulty = mysql_real_escape_string($_POST['difficulty']);

使用此查询:

$query = sprintf("INSERT INTO markers (difficulty) VALUES ('%s')", $difficulty);

当我的表设置为INT,20,allow null时,它在数据库中存储0。 当我设置VARCHAR,20,允许null时,它会存储一个空白字段。

我希望它能够存储用户选择的任何值,即简单,坚硬,非常难等。

非常感谢

4 个答案:

答案 0 :(得分:4)

$_POST['difficulty']

不会保留值,因为SELECT没有被赋予'name'。尝试

<select name="difficulty">

答案 1 :(得分:2)

您的问题是HTML中的name属性。对于select标记应该是“难度”,而不是在选项标记中。

您也不需要type="text",因为这是默认值。我怀疑你不需要id,但当然我们看不到其余的代码,所以你可以在其他地方使用它们。

<span> Difficulty: </span> 
<select name="difficulty">
  <option value="easy">easy</option>
  <option value="comfortable">comfortable</option>
  <option value="hard">hard</option>
  <option value="veryhard">very hard</option>
  <option value="hardest">Hardest ride in the world!</option>
</select>

答案 2 :(得分:0)

您需要更改HTML <select name="difficulty">的名称。然后,您将获得$_POST['difficulty']选择的值。

http://www.w3schools.com/TAGS/tag_Select.asp

答案 3 :(得分:0)

<select name="difficulty">
    <option type="text" id="easy" value="easy">easy</option>
    <option type="text" id="comfortable" value="comfortable">comfortable</option>
    <option type="text" id="hard" value="hard">hard</option>
    <option type="text" id="veryhard" value="veryhard">very hard</option>
    <option type="text" id="hardest" value="hardest">Hardest ride in the world!</option>
</select>

您不会为单个<option/>代码指定名称属性。