4

mySQL の TINYINT に 0 または 1 のフィールドがあります。

私もフォームを持っています:

      <input type="checkbox" name="featured" value="<?php echo $row_rs_dealItem['featured']; ?>"/><br /><br />

チェックボックスを選択すると、mySQL で値を「1」に設定できますが、その逆はできません。これは、レコードの更新ページを表示すると、チェックボックスが常に空白になるためです (チェックボックスのステータスは値とは無関係であることを理解しており、そのように設定する必要があります)。

したがって、値が「1」の場合はチェックボックスをオンにする必要があり、チェックを外す場合は、mySQL の値を「0」に戻す必要があります。

これにはたくさんの投稿があることは知っていますが、頭も尻尾も作れないようで、何を試してもうまくいきません。

PHPで保存できますか?

ありがとう

4

4 に答える 4

3

あなたのhtmlチェックボックスでそれを使用してください:

<?php if ($row_rs_dealItem['featured'] == 1) echo "checked='checked'"; ?>

データを保存するファイルに書き込みます。

if(isset($_POST['featured'])) $featured = 1; else $featured = 0;
于 2012-07-06T09:51:35.997 に答える
2
$featured = (isset($_POST['featured'])) ? 1 : 0;
于 2012-07-06T09:57:02.430 に答える
1

フォームを送信した後、データを保存するファイルでPHP のintval関数を使用するだけです。

$_POST['featured'] = intval($_POST['featured']);

チェックボックスがチェックされていない場合、$_POST['featured'] は NULL であり、intval(NULL)=0.

于 2012-07-06T09:55:40.160 に答える
0

試す

<?PHP
if(isset($_POST['featured']))
{
    $_POST['featured'] =1;
}
else
{
   $_POST['featured'] =0; 
}
于 2012-07-06T09:49:37.893 に答える