我正在使用循环创建动态复选框,如here
所述一切都按预期工作,我已经成功创建了一个包含2列的表:userid和preferences。 每个复选框都有一个唯一的优先级值关联,如果选中它,则php将其存储在mysql数据库中。
现在我需要重新填充复选框,如果用户在另一天回到页面上。
我的想法(可能不够好......)
SELECT preference FROM Preference table WHERE UserId=CurrentUserId
我可以拨打query result ---> $result[]
现在我获得了变量中某个用户的所有首选项,并且在创建动态复选框时我可以使用IF条件进行循环:
如果$result
等于当前的复选框ID,则写入checked
但我不完全确定如何使它工作,如果它能工作......任何想法?
答案 0 :(得分:2)
正如你所说。
从数据库中获取当前在线用户的首选项($clientId
)。
$query = "SELECT preference FROM Preference WHERE userId = $clientId";
$res = sql_query($query, $connection);
while($userPreference = mysql_fetch_array($res))
$userPreferences[$userPreference] = true;
我假设他们有一个名为preference
的唯一标识符。
迭代所有首选项,检查数据库中选定的$userPreferences
。
foreach($preferences as $preference) {
$checked = $userPreferences[$preference] ? 'checked' : '';
echo "<input type='checkbox' value='{$preference}' $checked />";
}
这样的事情应该足以重新创建布局并选择用户偏好。