我在传递具有相同名称的输入值时遇到问题,这是有效但现在只是不再工作了,这里是html和php
HTML:
<form action="alterado.php" method="post">
<p class="codigo"><input type="text" name="codigo-peca[]"></p>
<p class="descricao-peca"><input type="text" name="descricao-peca[]"></p>
<p class="valor-peca">R$<input type="text" name="valor-peca[]"></p>
<p class="codigo"><input type="text" name="codigo-peca[]"></p>
<p class="descricao-peca"><input type="text" name="descricao-peca[]"></p>
<p class="valor-peca">R$<input type="text" name="valor-peca[]"></p>
<input type="submit" value="Salvar Dados">
alterado.php
if(is_array($_POST['valor-peca']) && is_array($_POST['codigo-peca']) && is_array($_POST['descricao-peca']) ) {
// ... code
for($i = 0; $i < count($_POST['valor-peca']); $i++) {
// ... reference index of arrays
$valorPeca = $_POST['valor-peca'][$i];
$codigoPeca = $_POST['codigo-peca'][$i];
$descricaoPeca = $_POST['descricao-peca'][$i];
if ($valorPeca != 0){
$SQL = "INSERT INTO pecas (ordemServico, codigoPeca, descricaoPeca, valorPeca) VALUES ('$ordem', '$codigoPeca', '$descricaoPeca', '$valorPeca');";
$result = mysql_query($SQL);
}
}
}
但是这只是读取第一个输入值而不读取第二个
答案 0 :(得分:0)
您正在覆盖变量$valorPeca
,$codigoPeca
和$descricaoPeca
。除非您将它们一起追加,否则它一次只会显示一个变量。
if(is_array($_POST['valor-peca']) && is_array($_POST['codigo-peca']) && is_array($_POST['descricao-peca']) ) {
$valorPeca = '';
$codigoPeca = '';
$descricaoPeca = ''
for($i = 0; $i < count($_POST['valor-peca']); $i++) {
// ... reference index of arrays
$valorPeca .= $_POST['valor-peca'][$i] . " ";
$codigoPeca .= $_POST['codigo-peca'][$i] . " ";
$descricaoPeca .= $_POST['descricao-peca'][$i] . " ";
}
}