1
私はPHPとMySQLに触れてから5〜6年ほど経ちました。このすべて。チェックボックスを使用してMySqlデータベースを更新する
私はHTMLフォームを持っています。これは一連のチェックボックスです。クリックすると、データベースの相対エントリが0または1に設定されます。更新が完了すると、フォームに戻ります必要に応じて再度設定を変更することができます。
静的な量は静的な値になりますので、foreachループは必要ではないと思いますが、PHPを使用する方法については、私は何かしようとしていることにちょっとだけ対処しなければならないので、あまりにも多くの運がありません。
ご協力いただきますようお願い申し上げます。
FORM:
<?php
require "config.php";
$db = mysql_connect($db_host, $db_user, $db_pass) or die(mysql_error());
mysql_select_db($db_name) or die(mysql_error());
$query = "SELECT * FROM roster";
$result = mysql_query($query);
?>
<form action="update.php" method="POST">
<?php
while($row = mysql_fetch_array($result)){
$active = $row['active'];
$name = $row['name'];
$class = $row['class'];
$value = '0';
if ($active == '1'){
$value = '0';
} else {
$value = '1';
}
echo "<label class='switch'><input type='checkbox' name='".$class."' value='". $value."'";
if($active == '1'){
echo "checked='checked'";
}
echo "/><div class='slider'></div><span>" . $name . "</span></label>";
}
mysql_close();
?>
<input type="submit" class="submit" value="Update Active Roster">
</form>
update.phpを(今のところ) - これは私が助けを必要とするところ、私は
<?php
require "config.php";
$db = mysql_connect($db_host, $db_user, $db_pass) or die(mysql_error());
mysql_select_db($db_name) or die(mysql_error());
$checkbox = $_POST['activate'];
for($i = 1; $i < sizeof($checkbox)+1; $i++){
$query = "UPDATE roster SET active='".$checkbox[$i]."' WHERE id='".$i."'";
echo "active='".$checkbox[$i]."' WHERE id='".$i."'";
mysql_query($query) or die(mysql_error());
}
?>
MySQLデータベース
id class name active
0 thisdude This Dude 0
1 thatguy That Guy 0
2 somechick Some Chick 0
を考えます
ページに戻る方法についての質問に答えるかもしれませんが、データベースをまったく更新していません。また、なぜinput(type = checkbox)を呼び出すことができるのか、なぜconsole.log()を呼び出すべきなのかを警告する理由について、それぞれのチェックボックスにクラスを追加しているのだろうかと思います。私の更新スクリプトは、私が上に示した最も注目すべきものです。 – Murphy1976