从我的下拉选择框中选择时,我需要存储用户选择的选项,并且在我的表单中提交时,存储在我的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时,它会存储一个空白字段。
我希望它能够存储用户选择的任何值,即简单,坚硬,非常难等。
非常感谢
答案 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']
选择的值。
答案 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/>
代码指定名称属性。