我知道Mysqli已被解密,但服务器不允许我将Mysqli放入下划线,但目前这不是我的问题,我的问题是,如果我的复选框没有被检查,那么它不是从那时起更新为0,其中state为else。
<?php
@mysql_connect("localhost", "xxx", "xxx") or die(mysql_error());
@mysql_select_db("xxx") or die(mysql_error());
@mysql_query("SET NAMES utf8"); error_reporting(E_ALL);
ini_set('display_errors', 1);
$chk1 = $_POST['chk1'];
foreach($chk1 as $i=>$s){
if($s == TRUE)
{
echo $s, '<br/>';
$sql = mysql_query("UPDATE `xxx`.`cars` SET `show` = '1' WHERE cars_id='".$s."'");
} else {
echo $s, '<br/>';
$sql = mysql_query("UPDATE `xxx`.`cars` SET `show` = '0' WHERE cars_id='".$s."'");
}
}
&GT;
*添加
<form action="./pages/checkbox.php" method="post">
<section class="content" class="table details">
<table class="dashboard">
<tr class="top">
<td width="40">#</td>
<td width="40"Show</td>
<td width="40">Photo</td>
<td width="80%"Name</td>
</tr>
<tbody id="the-list">
<?
$result= mysql_query("SELECT * FROM cars");
$counter = 1;
?>
<?php
while($row = mysql_fetch_array($result)){
echo '<tr>
<td>' . $counter++ . '</td>
<td><input value="'.$row['cars_id'].'" id="chk1" name="chk1[]" type="checkbox"';
if ($row['show'] == true){
echo 'checked></td>';
}else
{
echo 'unchecked></td>';
}
echo '<td><img src="../xml/images/'.$row['cars_id'].'-1.JPG" width="120px"></td>';
echo "<td><h3> ", $row['brand']," " . $row['model'], " " . $row['type'], " € " . $row[cars_id'], " </h3></td>";
echo '</tr>';
}
?> <input type="submit" name="Submit" value="Safe">
</form>
在&#34; ducpliate&#34;我没有找到如何将其置于while循环中,请描述这是同一个问题。
答案 0 :(得分:1)
如果取消选中复选框,则不会发布。所以ID不在你的数组中。
检查您的后期数据,您会看到该复选框丢失。
获取未选中复选框的最佳方法是覆盖它们。
<form method="post">
<input type="hidden" name="checkbox" value="0">
<input type="checkbox" name="checkbox" value="1">
<button type="submit">Check result</button>
</form>
&#13;
答案 1 :(得分:0)
复选框仅在检查时发布数据。 检查是否发布了
<?php
if(isset($_POST["chk1"])){
// Run your sql code in here to avoid unwanted output
// Set your check variable
$chk1=$_POST["chk1"];
// Then your loop
foreach($chk1 as $i=>$s){
if($s == TRUE)
{
echo $s, '<br/>';
$sql = mysql_query("UPDATE `xxx`.`cars` SET `show` = '1' WHERE cars_id='".$s."'");
} else {
echo $s, '<br/>';
$sql = mysql_query("UPDATE `xxx`.`cars` SET `show` = '0' WHERE cars_id='".$s."'");
}
}
}
?>