установите флажки динамического php из базы данных mysql - PullRequest
0 голосов
/ 21 февраля 2012

Я использую цикл для создания динамических флажков, как описано здесь

Все работает, как ожидалось, и я успешно создал таблицу с 2 столбцами: идентификатор пользователя и параметры.С каждым флажком связано уникальное значение предпочтения, и если оно установлено, то php сохраняет его в базе данных mysql.

Теперь мне нужно повторно установить флажки, если пользователь вернется на страницу в другой день.

Моя идея (может быть, недостаточно хороша)

SELECT preference FROM Preference table WHERE UserId=CurrentUserId

и я могу позвонить query result ---> $result[]

Теперь я получил все предпочтенияопределенный пользователь в переменной, и я могу сделать цикл с условием IF при создании динамических флажков:

IF $result равно текущему идентификатору флажка, затем написать checked

, но яне совсем уверен, как заставить это работать и если это будет работать .. какие-то идеи?

1 Ответ

2 голосов
/ 21 февраля 2012

Это именно так, как вы сказали.

  1. Получить настройки из базы данных для текущего онлайн-пользователя ($clientId).

    $query = "SELECT preference FROM Preference WHERE userId = $clientId";
    $res = sql_query($query, $connection);
    while($userPreference = mysql_fetch_array($res))
      $userPreferences[$userPreference] = true;
    

    Я примуу них есть уникальный идентификатор, который называется preference.

  2. Выполнить итерацию по всем предпочтениям, сравнивая с выбранным $userPreferences из базы данных.

    foreach($preferences as $preference) {
      $checked = $userPreferences[$preference] ? 'checked' : '';
      echo "<input type='checkbox' value='{$preference}' $checked />";
    }
    

Что-то вроде этого должно быть достаточно для воссоздания макета и выбора пользовательских настроек.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...