0

データベースのチェックボックスを週配列でチェックして、日を一致させる必要があります。ここに私のリソースがあります:

$週日

$weekDay=array("1"=>"Mon","2"=>"Tue","3"=>"Wed","4"=>"Thu","5"=>"Fri","6"=>"Sat","7"=>"Sun");

$opDay

Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 [5] => 6 [6] => 7 )

だから私は書く:

foreach($weekDay as $key=>$val){
$inDay = array_intersect($weekDay,$opDays);        
echo "<label><input type=\"checkbox\" name=\"exc_opd[]\" value=\"{$key}\" ".(($inDay)? '"checked"':" " )."/>&nbsp;{$val}</label>&nbsp;";                    
}

$opDay関数ごとに、 wouldに一致するチェックボックスが必要checkedです。そして、ループはチェックされていないボックスで続行されます。

4

1 に答える 1

0

最後に、私はこの解決策を思いつきます。最高ではないかもしれませんが、機能しています。私の知識に対する提案は大歓迎です。

foreach($weekDay as $key=>$val){
$inDay = array_intersect_key($weekDay,array_flip($opDays));        
if($inDay[$key]){
    echo "<label><input type=\"checkbox\" name=\"exc_opd[]\" value=\"{$key}\" checked/>&nbsp;$val</label>&nbsp;";       
}else{
    echo "<label><input type=\"checkbox\" name=\"exc_opd[]\" value=\"{$key}\"/>&nbsp;$val</label>&nbsp;";       
    }
}
于 2016-03-12T02:56:55.887 に答える