if文がforeach内の各配列をチェックしていないのはなぜですか?誰かがすでに値の同じ種類を選択した場合、私はSELECT2値からそれを無効にしたい、ここに私のコードは次のようになります:foreach内の各if文のチェック
function get_status_cab()
{
$status=$_POST['search'];
echo '<label for="username" class="col-sm-3 control-label">Status</label>';
echo '<div class="col-sm-9">';
echo '<select class="form-control select2" name="status">';
$cek=$this->db_umum->select("SELECT id,status FROM lembaga where id='$status'");
foreach($cek as $cek){
$statusnya = $cek->status;
}
$hasil=array(
"pusat" => "Pusat",
"cabang" => "Cabang",
"unit" => "Unit",
"proyek" => "Proyek",
"subproyek" => "Subproyek"
);
foreach($hasil as $value => $label)
{
$no=0;
if($value = $statusnya){
$disable[] = "disabled='disabled'";
}else{
$disable[] = "";
}
echo "<option value='".$value."' $disable[$no]>".$label."</option>";
$no++;
}
echo '</select></div><br/>';
}
$値= $ statusnya場合結果は、私の全体のSELECT2が無効になります。しかし、それは私が望むものではありません。 $ statusnyaが無効で、もう一方が利用可能であるという正確な値だけを必要とします。 アドバイスはありますか?
if($ value = $ statusnya){ $ disable [] = "disabled = 'disabled'"; } else { $ disable [] = ""; } –
'$ disable'はどこで使用されていますか?そして、あなたは代入(つまり '=)'と等価(つまり '==')の違いを知っていますか? –
@SamOnela ==同じ、動作しない –