PHPの専門家に質問したいのですが、複数選択チェックボックスが選択されているかどうかを判断する方法はありますか?

WBOY
リリース: 2016-06-23 13:32:16
オリジナル
1007 人が閲覧しました

データベースフィールドの内容には次のデータがあります:
s1、s2、s3、s4、s5
データは s1、s2、s5 のみである場合、いつでも変更されますが、s1 と s2 は固定です


HTML :
input type="チェックボックス" name="content[]" value="s5" >
......

PHP:
$sql="select * from `user_role` "; $db-> ;getRow($sql);
$row_role = $row_role['content'];
$role=explode(',',$row_role);// 配列に分割する


データベースには s1 、s2、s3 があり、s3 は選択された状態になります





ディスカッションに返信 ( solution)

<?php/*$sql="select * from `user_role` ";$row_role = $db->getRow($sql);$row_role = $row_role['content'];$role=explode(',',$row_role);//分割成数组*/$role = array('s1','s2','s3');?><input type="checkbox" name="content[]" <?php if(in_array('s1',$role) && in_array('s2',$role) && in_array('s3',$role)){ ?>checked="checked"<?php } ?>  value="s3" ><input type="checkbox" name="content[]"  value="s4" ><input type="checkbox" name="content[]"  value="s5" >
ログイン後にコピー

上の階の友人からの返信ありがとうございます 質問は

$role = array('s1','s2','s3');

この文では、 s1, s2, s3....などは不確実で数十になる可能性がありますが、どうすれば改善できますか?

dbを読んで理解できませんでしたか?
DBを読まないだけです。データベースを読み取り、選択したものを $role に書き込むだけです。

ルールが異なる場合は、異なるブランチを記述するだけです。 例:
$s3check = 0;

if(xxx){
$s3check=1;
}elseif(xxx){
$s3check=0; } else{
$s3check=1;
}

checked="チェック済み"< ; ?php } ?>

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート