私は、ユーザがチェックする必要があるデータベースに格納されているサービスのリストを持っています。リストは定期的に更新されます。 彼らはそうのようなテーブル「サービス」に格納されています。php - チェックボックスの値をdbに格納して読み込みます。
|id|service|
| 1|foo |
| 2|bar |
ユーザーがチェックボックスをチェックすると、私は「人」テーブルから「サービス」とは、細胞内のID値を格納します。
$services = mysql_real_escape_string(implode(',', $_POST['services']));
$update = mysql_query("UPDATE people SET services='$services' WHERE id='$id'")
or die(mysql_error());
すべてここまでうまくいきます。
今、テーブル「サービス」からすべてのサービスを一覧表示し、ユーザーセル「サービス」のサービスとユーザーセルのサービスとのクロスチェックを行います。
最後のエコーは次のようになります。
<label>$service</label>
<input name="services[]" type="checkbox" id="services[]" value="$id" $checked>
誰かが私を助けてくれますか? ありがとうございました!
P.S:私はこのhttp://corpocrat.com/2009/05/24/how-to-store-and-retreive-checkbox-value-in-mysql-with-php/後にそれを作ってみましたが、私はラベルをエコーができませんでしたし、私は私があなたの平均値を取得したり、できなかったか分からない
サイドノート:1つのフィールドに区切りリストとしてではなく、明確に要素を格納すると、データを操作して表示する方がはるかに簡単です。このような設定では、3つのテーブルが必要です。 People、Services、およびPeopleServices(これはPeopleのIDとServicesのIDの外部キーです)。 – David
DBの入力構造はかなりばかげています。チェックボックスの値ごとに、TRUE(1)またはFALSE(0)の値で異なる列を作成する必要があります。あなたの人生ははるかに楽になります。 –
@Navもっと具体的になりますか? – acelasiom