保存并更新下拉列表"已选中"选项

时间:2016-09-18 14:47:32

标签: php jquery mysql drop-down-menu

我正在尝试创建包含下拉列表的表单。提交时,我试图保存"选择"选项,以便在将来的页面加载时,此值被选中"默认情况下。

有些事情:

<select name="people">
  <option value="person-1" <?php if($selected=="person-1") echo 'selected="selected"'; ?> >Person 1</option>
  <option value="person-2" <?php if($selected=="person-2") echo 'selected="selected"'; ?> >Person 2</option>
  <option value="person-3" <?php if($selected=="person-3") echo 'selected="selected"'; ?> >Person 3</option>
</select>

我认为实现这一目标的最佳方法是使用MySQL数据库来保存所选选项。我只是不确定如何解决这个问题。

任何帮助都将不胜感激。

干杯

1 个答案:

答案 0 :(得分:2)

  

“我认为实现这一目标的最佳方法是使用MySQL数据库保存所选选项。”

答案是肯定的。

首先需要做的是将相应数据保存在给定行的数据库中。

这样的一个例子是,并将其应用于其他值:

INSERT INTO TABLE (col) VALUES ('person-1')

然后在SELECT中检索它,例如:

SELECT col, col_2, col_3 FROM TABLE

取决于您需要使用/查询的列数。

即。使用while循环获取三元运算符并获取成功结果。

echo '

<select name="people">
  <option value="person-1" '.($row["col"] == "person-1" ? "selected" : "") .'>Person 1</option>
  <option value="person-2" '.($row["col"] == "person-2" ? "selected" : "") .'>Person 2</option>
  <option value="person-3" '.($row["col"] == "person-3" ? "selected" : "") .'>Person 3</option>
</select>

';

或者,您可以在<options>中使用您目前使用的内容。你需要在循环中使用$selected变量,但我发现三元运算符更容易用于这样的情况。

while循环的示例,我在这里使用了MySQLi_ API:

while ($row = mysqli_fetch_array($query))

下拉列表的name属性可以使用POST或GET方法在表单中使用,选择权在您手中。

您需要选择您喜欢的MySQL API,但请记住,自PHP 7.0起,MySQL_*函数/ API已被弃用和删除

脚注:

我相信我已经给了你足够的帮助你。我通常不会对这些问题给出答案,因为它们相当广泛,但我发现如果我可以提供帮助,那就太棒了。

  • 发布评论也太长了。

您还应该阅读使用预准备语句,因为您似乎是处理数据库的新手。

参考文献:

其他参考资料: