1
我有三個數組,我想添加數組在位置[0],然後[1],然後[2]等數組,所以我可以插入數值爲三個字段放入我的數據庫。如何通過數組來循環插入數據庫
首先我連接到我的數據庫,並得到我的結果:
<?php
require_once("con.php");
$p = payment();
$result = mysqli_query($mysqli, $p);
?>
然後,我建我的形式:
<form>
<table>
<?php while ($res = mysqli_fetch_array($result)) { ?>
<tr>
<td class="paid">
<input type="hidden" value="1" name="paid[<?php echo $res['name']; ?>]">
<input type="checkbox" value="0" name="paid[<?php echo $res['name']; ?>]"
<?php
if ($res["paid"] == 0) {
echo "checked";
}
?>>
</td>
<td class="active">
<input type="hidden" value="1" name="active[<?php echo $res['name']; ?>]">
<input type="checkbox" value="0" name="active[<?php echo $res['name']; ?>]"
<?php
if ($res["active"] == 0) {
echo "checked";
}
?> >
</td>
<input type="hidden" name="ID[<?php echo $res['name']; ?>]" value="<?php echo $res['ID']; ?>">
</tr>
<?php } ?>
<tr>
<td>
<input type="submit" name="submit" value="Update">
</td>
</tr>
</table>
</form>
這是我的PHP處理程序:
<?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";
}
?>
權現在它沒有插入任何東西,我可以看到這些陣列中有正確的數據,其中var_dump($_POST)
;但我似乎無法讓它插入到數據庫中。我試過一些for
循環,foreach
,但不知道我做得對。
任何想法?
的var_dump示出了該:
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"
}
有一種方法將所有公司A一起成陣列來更新或所有陣列[O]位置的陣列,然後[1]等?
你沒有到位的插入功能。你只有一個來更新數據,而不是插入它。根據您的表格結構,您可以更改更新查詢以插入或更新https://dev.mysql.com/doc/refman/5.0/en/insert-on-duplicate.html –
爲什麼您有兩個輸入:隱藏「和」輸入:複選框「設置爲相同的名稱?當你提交這個名字時,姓氏會覆蓋之前的名字。 – CodeGodie
看起來像多維數組中的數據,並且循環中的數據訪問不正確請問如何顯示var_dump()中列出的數據? – Yogendra