У меня есть три массива, и я хочу добавить массивы в позиции [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" }
Есть ли способ объединить все CompanyA вместе в массив для обновления или массив всех массивов [o], затем [1] и т. Д.?