发布具有相同名称的输入值

时间:2014-03-27 17:19:09

标签: php forms post input

我在传递具有相同名称的输入值时遇到问题,这是有效但现在只是不再工作了,这里是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);
}
        }
    }

但是这只是读取第一个输入值而不读取第二个

1 个答案:

答案 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] . " ";
            }
}
相关问题