4

true、false、または NULL のラジオ ボタンの値をデータベースに保存しています。null または false の場合、答えは 0、つまり false です。null値をチェックするための解決策はありますか? isset と Empty を使用してみましたが、どれも役に立ちません。データベースはMSSQLで、データ型はラジオボタンの値を格納するためのビットです

<input name="radioVal" type="radio" id="radioVal" value="false"
<?PHP
           if(row['radioVal'] == false ) 
              echo "checked='checked' "; 
}
?> />

<input name="radioVal" type="radio" id="radioVal" value="true"
<?PHP
           if(row['radioVal'] == true ) 
              echo "checked='checked' "; 
}
?> />
4

3 に答える 3

1

試す

 if(false === row['radioVal'] ) //or
 if(NULL === row['radioVal'] )

NULL をチェックするには、is_nullでチェックできます

 is_null(row['radioVal'])
于 2012-09-11T18:39:17.157 に答える
1

1ビット列は、おそらくまたはとして表され0ます。トリプル イコールを使用して、値型を確認します。row['radioVal'] === 1true、row['radioVal'] === 0false、およびrow['radioVal'] === nullnullをチェックします。

于 2012-09-11T18:39:34.980 に答える
0

おそらく、SQL データベースで別のデータ型を使用する必要があります。

Enum またはそのようなものをお勧めします。

ENUM('false', 'true', 'NULL')

あなたのPHPファイルで

<?PHP
       if(row['radioVal'] == false ) 
          echo "checked='checked' "; 
}
?>
于 2012-09-11T18:45:15.880 に答える