Я создаю очень простую систему управления запасами. На странице, на которой пользователь сможет делать обновления, я перечисляю все содержимое в таблице и помещаю все в текстовые поля, например изображение. Обновление нескольких столбцов с несколькими значениями в одной таблице
Таким образом, пользователь должен просто изменить то, что он хочет, и когда он нажимает кнопку «Отправить», он обновляет каждую строку в таблице с ее соответствующим значением. Но мой код не работает. Я не знаю, как сделать такое обновление, и я уверен, что это неправильно, потому что оно даже не работает. Вот моя форма:
<form action="update_pcs.php" method="POST">
<label>Peça</label>
<label for="txtQtd" id="qtd">Qtd.</label>
<br/>
<?php foreach($rtn as $pcs){ ?>
<input type="text" name="txtNome[]" id="txtNome" value="<?=$pcs['pc_nome']?>" />
<input type="text" name="txtQtd[]" id="txtQtd" value="<?=$pcs['num']?>"/>
<input type="hidden" name="txtId[]" id="txtId" value="<?=$pcs['id']?>" />
<br />
<br />
<?php } ?>
<br />
<br />
<input type="submit" value="Enviar" name="btnEnvia" />
</form>
И мой файл update_pcs.php
, который должен сделать обновление в таблице.
<?php
include_once 'mdl.php';
$conexao = new modelDB();
$qtd = $_POST['txtQtd'];
$nom = $_POST['txtNome'];
$id = $_POST['txtId'];
/*This makes the $dados array keep in the value ['nome'] another array, the value ['qtd'] another array and ['id'] another array*/
$dados = array('nome'=>$nom,
'qtd'=>$qtd,
'id'=>$id);
foreach($dados as $dado){
/* I'm doing it that way but it isn't working */
$nomeAt = $dado['nome'];
$qtdAt = $dado['qtd'];
$id = $dado['id'];
$conexao->alteraDb("update pcs_estq set pc_nome ='{$nomeAt}', num = '{$qtdAt}' where id = '{$idAt}'");
}
Моя функция должна быть права, потому что когда я изменяю переменные php для значений, она работает. Как я могу сделать это правильно?
Спасибо другу! Помог мне долгий путь! Кстати, я все еще не знаю, как использовать pdo, но я проверю данные! Большое спасибо ! – anuseranother
рад помочь. :) –