ここでは、 mysqli_
を使用してテストおよび動作しています mysql_
の代わりに
自分の資格情報に置き換えてください。
コメントで述べたように、チェックボックスには名前付き要素を角かっこで囲む必要がありました。つまり、 name ='checkbox []'
そうしないと、無効な foreach
を受け取ります。 引数エラー。
補足:少しフォーマットを行うことはできますが、機能します。
<table class="ts">
<tr>
<th class="tg-031e" style='width:1px'>ID</th>
<th class="tg-031e">IP address</th>
<th class="tg-031e">Date added</th>
<th class="tg-031e">Reason</th>
</tr>
<?php
$DB_HOST = "xxx";
$DB_NAME = "xxx";
$DB_USER = "xxx";
$DB_PASS = "xxx";
$con = new mysqli($DB_HOST, $DB_USER, $DB_PASS, $DB_NAME);
if($con->connect_errno > 0) {
die('Connection failed [' . $con->connect_error . ']');
}
$SQL = "SELECT `ID`, `IPaddress`, `DateAdded`, `Reason` FROM `banned`";
$exec = mysqli_query($con,$SQL);
echo "<form method='post'>";
while ($row = mysqli_fetch_array($exec)){
echo "<tr class='tg-031h'>";
echo "<td class='tg-031e'><input type='checkbox' name='checkbox[]' value='" . $row[ID] . "'></td>";
echo "<td class='tg-031e'>" . $row['IPaddress'] . "</td>";
echo "<td class='tg-031e'>" . $row['DateAdded'] . "</td>";
echo "<td class='tg-031e'>" . $row['Reason'] . "</td>";
}
echo "</tr></table>";
echo "<input name='delete' type='submit' value='Delete'></form>";
if (isset($_POST['delete']) && isset($_POST['checkbox'])) {
foreach($_POST['checkbox'] as $id){
$id = (int)$id;
$delete = "DELETE FROM banned WHERE ID = $id";
mysqli_query($con,$delete);
}
}
?>
mysqli_ *
> プリペアドステートメント付き
、または PDO
準備されたステートメント
このために。
編集: mysql _
バージョン
<table class="ts">
<tr>
<th class="tg-031e" style='width:1px'>ID</th>
<th class="tg-031e">IP address</th>
<th class="tg-031e">Date added</th>
<th class="tg-031e">Reason</th>
</tr>
<?php
include 'connect.php';
$SQL = "SELECT `ID`, `IPaddress`, `DateAdded`, `Reason` FROM `banned`";
$exec = mysql_query($SQL, $connection);
echo "<form method='post'>";
while ($row = mysql_fetch_array($exec)){
echo "<tr class='tg-031h'>";
echo "<td class='tg-031e'><input type='checkbox' name='checkbox[]' value='" . $row[ID] . "'></td>";
echo "<td class='tg-031e'>" . $row['IPaddress'] . "</td>";
echo "<td class='tg-031e'>" . $row['DateAdded'] . "</td>";
echo "<td class='tg-031e'>" . $row['Reason'] . "</td>";
}
echo "</tr></table>";
echo "<input name='delete' type='submit' value='Delete'></form>";
if (isset($_POST['delete']) && isset($_POST['checkbox'])) {
foreach($_POST['checkbox'] as $id){
$id = (int)$id;
$delete = "DELETE FROM banned WHERE ID = $id";
mysql_query($delete);
}
}
?>