0

タイトルが示すように、SQL データベースに既にデータがあるチェックボックスを更新する方法に問題がありました。

私のコードは次のようになります。

<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
Name <input type"text" name="inputName" value="<?php echo $hemsida['Namn']; ?>" /> </br>
Commentar <input type"text" name="inputComment" value="<?php echo $hemsida['Comment']; ?>" />
<br/>
</br><input type="checkbox" name="inputAll" value="checked" <?php echo $hemsida['All']; ?>/>Alla
<input type="hidden" name="id" value="<?php echo $_GET['id']; ?>" />
<input type="submit" name="submit" value="Redigera">

<?php

if(isset($_POST['submit'])) {
    $u = "UPDATE hemsida SET `Namn`='$_POST[inputName]', `Comment`='$_POST[inputComment]', `ALL`='$_POST[inputALL]' WHERE ID = $_POST[id]";
    mysql_query($u) or die(mysql_error());

    echo "User has been modified";
    header("Location: ..//sokh.php");
} 
?>

エコー $hemsida['Namn']、['Comment']、および ['All'] は、データベース内の古いデータを表示して表示するだけですが、チェックボックスを更新するために何をすべきかわかりません。私はどこでも見ましたが、立ち往生しています。前もって感謝します!

4

2 に答える 2

0

あなたの質問は明確ではありませんが、データベースに「all」という名前の列があると思いますか? おそらく、この列は 1 つの値 (true または false) しか取ることができません!!

次に、フォームでこの値をテストできます。値が true の場合: チェックボックスがオンになり、そうでない場合: チェックボックスがオフになります:

<input type="checkbox" name="inputAll" checked="<?php if($hemsida['All'] == true) echo checked; ?>" />Alla

value="" は使用せず、checked を代わりに使用し、$hemsida['All'] の値をテストします

アプリケーションのphpコードとサーバー側では、チェックボックスがチェックされているかどうかをテストするだけで、データベースの列に何を割り当てるかを選択できます。たとえば、チェックボックスがチェックされている場合は、変数を作成します(たとえば、$value_of_checkbox )、この変数に値(たとえば、「true」)を割り当ててから、データベース列を更新するためにSQLコードにこの変数を含めます。

    if (isset($_POST['inputALL'])) {
       $value_of_checkbox = true;
    }
    else {
       $value_of_checkbox = false;
    }

    if(isset($_POST['submit'])) {
       $u = "UPDATE hemsida SET `Namn`='$_POST[inputName]', `Comment`='$_POST[inputComment]', `ALL`='$value_of_checkbox' WHERE ID = $_POST[id]";

    mysql_query($u) or die(mysql_error());

    echo "User has been modified";
    header("Location: ..//sokh.php")

:この部分のSQLコードも変更します:ALL='$value_of_checkbox'

于 2013-06-19T16:04:58.057 に答える
0

あなたの質問を正しく理解できれば、データベース情報に応じてチェックボックスをオンまたはオフにする方法を探しています。もしそうなら、私はこのようなことを試してみます。データベース情報を取得するコードの先頭に、

if($conditionForCheck){
   $inputAll = ' checked="checked"';
}

次に、あなたのフォームで

<input type="checkbox" name="inputAll"<?php echo $inputAll; ?> />
于 2013-06-19T16:12:28.590 に答える