php - 保存并更新下拉菜单 "selected"选项

标签 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 数据库来保存所选选项。我只是不确定该怎么做。

如有任何帮助,我们将不胜感激。

干杯

最佳答案

"I assume the best way to achieve this would be with a MySQL database to save the selected option."

答案是"is"。

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

一个例子是,并对其他值应用相同的方法:

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))

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

您需要选择您喜欢的 MySQL API,但请记住 MySQL_*从 PHP 7.0 开始,functions/API 已被弃用并删除

<小时/>

脚注:

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

  • 它也太长,无法作为评论发布。

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

引用文献:

其他引用:

关于php - 保存并更新下拉菜单 "selected"选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39558921/

相关文章:

php - upload_max_filesize 未反射(reflect)在 phpinfo() 中

php - 在 PHP 中执行其他查询之前如何查看 SQL 查询的结果是否为空

javascript - 无法打印 javascript 数组值

javascript - jQuery ConceptMap 插件错误

javascript - 文件被存储几次而不是一次

php - Mysql - 数据库中有很多数据

mysql - 使用\G 的垂直查询不起作用

php - laravel 中的 Composer 是什么?

php - Gitlab CI : Persist MySQL data between stages

php - PDO 数据库抽象层,在一个请求中具有多个查询