php - сохранение значения флажка в БД и чтение их - PullRequest
1 голос
/ 22 декабря 2011

У меня есть список сервисов, хранящихся в базе данных, которые пользователи должны проверить.Список регулярно обновляется.Они хранятся в таблице «services» следующим образом:

|id|service|
| 1|foo    |
| 2|bar    |

Когда флажки установлены пользователем, я сохраняю значения идентификаторов в ячейке «services» из таблицы «people».

$services = mysql_real_escape_string(implode(',', $_POST['services']));
$update = mysql_query("UPDATE people SET services='$services' WHERE id='$id'") 
or die(mysql_error());

Пока все работает нормально.

Теперь я хочу перечислить все свои сервисы из таблицы "services" и провести перекрестную проверку с сервисами из пользовательской ячейки "services" и той, которая находится в пользовательской ячейке.

Последнее эхо должно выглядеть следующим образом.

<label>$service</label>
<input name="services[]" type="checkbox" id="services[]" value="$id" $checked>

Может кто-нибудь помочь мне с этим?Спасибо!

PS: я пытался сделать это после этого http://corpocrat.com/2009/05/24/how-to-store-and-retreive-checkbox-value-in-mysql-with-php/, но я не мог повторить этикетки, а затем я все испортил

Ответы [ 2 ]

0 голосов
/ 22 декабря 2011

Я наконец сделал это. Возможно, это не лучший ответ на мою проблему, но лучше, чем ничего.

$servicii_user = mysql_query("SELECT servicii FROM people WHERE id='$id'")
or die(mysql_error());  
$ss = mysql_fetch_array($servicii_user);
$servicii_selectate = array();
$servicii_selectate= explode(',',$ss['servicii']);



$result = mysql_query("SELECT * FROM servicii")
or die(mysql_error());  

while ($row = mysql_fetch_array($result)) {
    if(in_array($row[0], $servicii_selectate)){
        echo '<input name="servicii[]" type="checkbox" value="'.$row[0].'" CHECKED>'.$row[1].' ';
    }else{
        echo '<input name="servicii[]" type="checkbox" value="'.$row[0].'">'.$row[1].' ';
    }
} 
0 голосов
/ 22 декабря 2011

Я не уверен, что смогу получить ваше мнение или нет. Я надеюсь, что смогу. В противном случае, прокомментируйте этот пост ...

Лучше создать лучшую структуру базы данных.

tbl_users                  tbl_services                tbl_assign
+-------------+            +-------------+             +----------------+
| uid | name  |            | sid | title |             | id | uid | sid |
+-------------+            +-------------+             +----------------+
|     |       |            |     |       |             |    |     |     |
+-------------+            +-------------+             +----------------+

В этой структуре вы можете указать один или несколько сервисов для каждого пользователя. Теперь вам нужно вставить или удалить записи в / из tbl_assign, чтобы предоставить или отозвать сервисы для каждого пользователя.

Надеюсь, ты сможешь это сделать.

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