我设法将我的复选框数组数据插入数据库。问题是当我选中多个复选框时,只有数组中的第一个数据插入数据库中。当我选中多个复选框时,我需要将所有选中的数据插入数据库。有人可以帮助我吗?拜托!
<?php
include ('connect.php');
$sql = "SELECT cat_id,name,gender,health_status,neutered,breed,color,age FROM cat WHERE owner_fk = '$id'";
$result3 = mysqli_query($conn,$sql);
$row6 = mysqli_fetch_array($result3);
$cato = $row6['cat_id'];
$result = $conn-> query($sql);
if ($result-> num_rows > 0) {
while ($row6 = $result-> fetch_assoc()) {
//table code//
echo "<td>" ."<input type='checkbox' name= 'check[]' value='$cato'". "</td>";
echo "</tr>";
}
echo "</table>";
}
else{
echo "0 result";
}
$conn-> close();
?>
<?php
include ('connect.php');
$cat = implode(',', $_POST['check']);
if(isset($_POST['submit']))
{
for($i=0; $i<count($cat);$i++)
{
$p_id =$_GET ['sitter'];
$price = $_POST ['price'];
$pickup_date =$_POST ['pickup_date'];
$dropoff_date =$_POST ['dropoff_date'];
$numdays = $_POST ['numdays'];
$total =$_POST ['test'];
$sql2 = "INSERT INTO cat_sitter(sitter_fk,cat_fk, price, date_in, date_out,total_day, total)VALUES ('$p_id','" . $cat[$i] . "','$price','$pickup_date','$dropoff_date','$numdays', '$total')" or die ("Error inserting data into table");
if ($conn->query($sql2) === TRUE) {
echo "<script language='javascript'>alert('Succesfully Book.')
window.location.replace(\"book_page.php\");
</script>";
}else{
echo "error: " . $sql2 . "<br>" . $conn->error;
}
}
}
?>
我真的需要将所有检查过的数据插入数据库。
答案 0 :(得分:-1)
您的php代码2是正确的,但是问题出在您的复选框中
while ($row6 = $result-> fetch_assoc()) {
echo "<td>" ."<input type='checkbox' name= 'check[]' value='$cato'". "</td>";
echo "</tr>";
}
您此处的复选框在整个过程中都包含相同的值,也许您应该这样做value="$row6["data"]
?