php - 表单 - 根据第一次选择使用 MySQL 查询更新选项

标签 php jquery mysql

我想要的是,一旦根据 date=today 和 name=selectedname 还选择了一个名称,第二组选项将更改为可用的任何选项

这是表格的基础:

ID | name  | location  |  Date
1  |John   | place 1   |  03-07-2015
2  |Jane   | place 2   |  03-07-2015
3  |John   | place 2   |  04-07-2015
4  |Jane   | place 2   |  04-07-2015

我只是不确定如何运行 SQL 语句

选择位置 从表 WHERE name = "选择的名字" AND date = CURDATE() 基于 Select "name"更改的时间

这是我当前代码的示例:

<form name="test" id="test">
  <div>
    <label for="name">Name:</label>
    <select name="name" id="name" required>
      <option value="" disabled selected>Please Select</option>
      <option value="John">John</option>
      <option value="Jane">Jane</option>
    </select>
  </div>
  <div>
    <label for="location">location:</label>
    <select name="location" id="location" required>
      <option value="" disabled selected>Please Select</option>
      <option value="place 1">place 1</option>
      <option value="place 2">place 2</option>
    </select>
  </div>
  <div>
    <label for="startend">Start or Finish:</label>
    <select name="startend" id="startend" required>
      <option value="" disabled selected>Please Select</option>
      <option value="Start">Start</option>
      <option value="End">Finish</option>
    </select>
  </div>
  <div class="submit">
     <input type="submit" name="submit" value="Submit" class="submit" />
  </div>
</form>

因此,一旦 John 从名称选择中选择“John”,如果今天的日期是 03-07-2015,则位置选择框将仅包含“Place 1”,但如果今天的日期是 04-07-2015,则它只会包含“Place 1” 2'

最佳答案

如果你想选择 John 今天的位置,你只需要同时根据 namedate 进行选择,如下所示:

SELECT location 
FROM table 
WHERE name = "John" 
  AND date = CURDATE()

如果您想在选择名称后即时更新第二个选择框,您可能需要使用 ajax。 Here are some good examples关于如何使用 ajax 调用填充选择框,调用该代码 namelocation 字段更改为类似以下内容:

$("#name, #location").change(function(){
    $.ajax({
        url: "fetchData.php",
        data: $('form').serialize(),
        dataType: "json",
        success: function(data) {
            alert("Next we populate the <select> with the data received...");
        }
    });
});

fetchDate.php 文件是您需要创建的。这个 PHP 文件将简单地获取正确的位置(使用上面的 SQL 示例)并以 JSON 格式回显它们以供 JS 使用(使用 json_encode() 函数将 PHP 数组转换为 JSON)。

理想情况下,您还希望使用专用的 names 表,并在此处仅引用 John 的姓名 ID,否则当用户需要更改时您会遇到问题他们的名字或多个用户有相同的名字。

关于php - 表单 - 根据第一次选择使用 MySQL 查询更新选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31195550/

相关文章:

php - wp-includes/SimplePie/用于什么?

PHP/MySQL : Storing Multiple Values in Database Column

JavaScript 表单验证框高亮显示

javascript - 函数 e 中的子项?

php - 计算时间并将其与 PHP 中的 mysql 时间进行比较

php - 将运费和优惠券添加到使用 wc_create_order() 创建的 WooCommerce 订单

PHP 和 MySQL 在数据库中存储多个值

javascript - 如何格式化带有前导零的数字?

php - 如何使用 php mysql 获取嵌套的 json 对象

MYSQL - 分页查询执行时间问题