我想要的是,一旦根据 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 今天的位置,你只需要同时根据 name
和 date
进行选择,如下所示:
SELECT location
FROM table
WHERE name = "John"
AND date = CURDATE()
如果您想在选择名称后即时更新第二个选择框,您可能需要使用 ajax。 Here are some good examples关于如何使用 ajax 调用填充选择框,调用该代码 name
或 location
字段更改为类似以下内容:
$("#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/