Php 如何循环数组以插入数据库
我有三个数组,我想在数组的位置[0],然后[1],然后[2]等处添加数组,这样我就可以将这三个字段的值插入到我的数据库中 首先,我连接到数据库并获得结果:Php 如何循环数组以插入数据库,php,mysql,arrays,forms,checkbox,Php,Mysql,Arrays,Forms,Checkbox,我有三个数组,我想在数组的位置[0],然后[1],然后[2]等处添加数组,这样我就可以将这三个字段的值插入到我的数据库中 首先,我连接到数据库并获得结果: <?php require_once("con.php"); $p = payment(); $result = mysqli_query($mysqli, $p); ?> 有没有一种方法可以将所有公司组合到一个要更新的数组中,或者一个包含所有数组的数组中[o]位置,然后[1],等等?这就是我想到的答案。希望它能帮助将来的人:
<?php
require_once("con.php");
$p = payment();
$result = mysqli_query($mysqli, $p);
?>
有没有一种方法可以将所有公司组合到一个要更新的数组中,或者一个包含所有数组的数组中[o]位置,然后[1],等等?这就是我想到的答案。希望它能帮助将来的人: 我的php处理程序:
<?php
require_once("con.php");
$ID=$_POST['ID'];
$paid=$_POST['paid'];
$active=$_POST['active'];
$count=count($ID);
$n= implode(", ", $ID);
$ID=explode(',',$n);
$p=implode(", ", $paid);
$paid=explode(',',$p);
$a=implode(", ", $active);
$active=explode(',',$a);
$i=0;
for ($i; $i<$count; $i++)
{
echo $paid[$i];
echo $active[$i];
echo $ID[$i];
//adds updated info to database
$uc=updateCompany($paid[$i],$active[$i],$ID[$i]);
$r = mysqli_query($mysqli,$uc);
echo "Information stored successfully";
}
您没有插入函数。您只有一个来更新数据,而不是插入数据。根据您的表结构,您可以将更新查询更改为插入或更新为什么将input:hidden
和input:checkbox
设置为相同的名称?当您提交此文件时,姓氏将覆盖上一个。看起来多维数组中的数据和循环中的数据访问不正确。能否显示var_dump()中列出的数据?隐藏和复选框的名称相同,因为:无法真正回答您的问题(抱歉!),但由于您的代码可能容易受到sql注入的攻击,您可能会觉得值得一读
<?php
function updatePayment($paid, $active, $ID) {
$uc = "UPDATE `company` SET `paid`='$paid', `active`='$active' WHERE `ID`='$ID'";
return $uc;
}
$paid = $_POST['paid'];
$active = $_POST['active'];
foreach ($_POST as $key => $value) {
$ID = $ID[$key];
$paid = $paid[$key];
$active = $active[$key];
$up = updatePayment($paid, $active, $ID);
$r = mysqli_query($mysqli, $up);
echo "Information stored successfully";
}
?>
array(4) {
["paid"]=> array(3) {
["CompanyA"]=> string(1) "0"
["CompanyB"]=> string(1) "0"
["CompanyC"]=> string(1) "0"
}
["active"]=> array(3) {
["CompanyA"]=> string(1) "1"
["CompanyB"]=> string(1) "1"
["CompanyC"]=> string(1) "0"
}
["ID"]=> array(3) {
["CompanyA"]=> string(2) "12"
["CompanyB"]=> string(2) "13"
["CompanyC"]=> string(2) "14"
}
["submit"]=> string(6) "Update"
}
<?php
require_once("con.php");
$ID=$_POST['ID'];
$paid=$_POST['paid'];
$active=$_POST['active'];
$count=count($ID);
$n= implode(", ", $ID);
$ID=explode(',',$n);
$p=implode(", ", $paid);
$paid=explode(',',$p);
$a=implode(", ", $active);
$active=explode(',',$a);
$i=0;
for ($i; $i<$count; $i++)
{
echo $paid[$i];
echo $active[$i];
echo $ID[$i];
//adds updated info to database
$uc=updateCompany($paid[$i],$active[$i],$ID[$i]);
$r = mysqli_query($mysqli,$uc);
echo "Information stored successfully";
}