【问题标题】:Save and update dropdown "selected" option保存和更新下拉“选定”选项
【发布时间】:2017-01-26 07:15:05
【问题描述】:

我正在尝试创建一个包含下拉列表的表单。在提交时,我正在尝试保存“已选择”选项,以便在以后的页面加载时,此值默认为“已选择”。

类似的东西:

<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 数据库来保存所选选项。我只是不确定如何去做。

任何帮助将不胜感激。

干杯

【问题讨论】:

标签: php jquery mysql drop-down-menu


【解决方案1】:

“我认为实现这一目标的最佳方法是使用 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>

';

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

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

while ($row = mysqli_fetch_array($query))

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

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


脚注:

我相信我已经给了你足够的东西让你开始。我通常不会回答此类问题,因为它们相当广泛,但我发现如果我能提供帮助,那就太好了。

  • 作为评论发布也太长了。

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

参考资料:

其他参考资料:

【讨论】:

    猜你喜欢
    • 2016-02-24
    • 2016-08-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多