使用 MSSQL 和 PHP,我正在编写一个日历表单,列出用户日程表中的时间,并让他输入他是否忙、有空等。
一旦用户提交信息,它就会保存到数据库中。
如果用户返回表单,他应该会看到表单字段默认为他已经输入的值。
好的,所以我可以查询数据库的每一天和时间段,并使用结果来确定表单上显示的内容……但这是对数据库的 145 次调用,因为这是用户在一周内可以拥有的时间段数。
似乎应该有一种方法可以查询一次数据库,将 145 个结果存储在一个数组中,然后按日期和时间查询每个字段的数组。
所以我有:
$sql="SELECT * FROM committee_employee_schedules WHERE fac_id = $user_id";
$result= mssql_query($sql,$conn);
但是从那里我不想进入一个带有 mssql_fetch_array() 的 while 循环......我将如何去查询我的结果集呢?谢谢。
这是更多示例代码,因为我似乎无法沟通:
<form>
<label for="7:30AM">7:30AM</label>
<select name="7:30AM">
<option>Available</option>
<option>Class</option>
<option>Office Hours</option>
</select>
<label for="8:00AM">8:00AM</label>
<select name="8:00AM">
<option>Available</option>
<option>Class</option>
<option>Office Hours</option>
</select>
<label for="8:30AM">8:30AM</label>
<select name="8:30AM">
<option>Available</option>
<option>Class</option>
<option>Office Hours</option>
</select>
</form>
...这会一直持续到周一至周五晚上 9:30,总共有 145 个下拉字段。
每个字段都需要知道表中是否存在针对该时间段的行,如果存在,则选择适当的活动。
我可以使用上面的代码为用户获取所有记录,但是我是否必须为表单上的每个字段循环遍历这 145 行?有没有办法将记录粘贴到数组中并用 results['Monday']['7:30'][Activity] 或其他东西引用它?