我想要的是第二组选项更改为基于date=today and 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语句
SELECT location
FROM table
WHERE name = "selected 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>
&#13;
所以一旦约翰选择约翰&#39;从名称选择中,位置选择框将仅包含&#39;地点1&#39;如果今天的日期是03-07-2015,但如果今天的日期是04-07-2015那么它只会包含&#39;地点2&#39;
答案 0 :(得分:1)
如果您想今天选择John的位置,您只需根据name
和date
进行选择:
SELECT location
FROM table
WHERE name = "John"
AND date = CURDATE()
如果要在选择名称后即时更新第二个选择框,则可能需要使用ajax。关于如何使用ajax调用填充选择框的Here are some good examples,请调用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)。 / p>
理想情况下,您还希望使用专用的names
表,并在此处引用John的名称ID
,否则当用户需要更改其名称或多个用户时,您会遇到问题具有相同的名称。
答案 1 :(得分:0)
试试这个
SELECT location
FROM table
WHERE name = "John"
AND date = "03-07-2015"