具有多个输入字段和一个提交表单的Foreach循环

时间:2016-08-30 18:09:54

标签: php forms

我在使用X输入字段(动态)提交时遇到问题。 每当我按下提交按钮时,它就像刷新我的页面一样。 我无法指出我的错误在哪里。

我希望有人可以指出这个问题。

require_once('dbconnection.php');


$sql = "SELECT * FROM {$value} WHERE employeeNumber = {$employeeNumber}";
$statement = $db->prepare($sql);
$statement->execute();
$department = $statement->fetchAll();

$mySql = "SELECT * FROM {$value}cloth";
$myStatement = $db->prepare($mySql);
$myStatement->execute();
$myDepartment = $myStatement->fetchAll();
//var_dump($myDepartment);


echo "<table>";
echo "<tr>";
echo "<th>Type</th>";
echo "<th>Antal</th>";
echo "<th>Størrelse</th>";
echo "</tr>";
if (!empty($department)) {
    $i = 0;
    foreach ($department as $infoRow) {
        foreach ($myDepartment as $row) {
            if ($i < 2) {
                $i++;
            } else {
                echo "<tr>";
                echo "<td>";
                echo $row['Type'];
                echo "</td>";
                echo "<td>";
                echo $infoRow['Navn'];
                echo "</tr>";

            }
        }
    }
} else {
    echo "<form method='POST'>";
    foreach ($myDepartment as $row) {
        echo "<tr>";
        echo "<td>";
        echo $row['Type'];
        echo "</td>";
        echo "<td>";
        echo "<input type='text' name='{$row['id']}' required>";
        echo "</td>";
        echo "<td>";
        echo "<input type='text' name='{$row['pieces']}' required>";
        echo "</tr>";
    }
    echo "<tr><td>";
    echo "<input type='submit' name='update' value='opdaterer'>";
    echo "</td></tr>";
    echo "</form>";
    if ($_POST) {
        echo "succes";
        if (isset($_POST[$row['id']])) {
            echo "succes too";
        }
    }
}

echo "</table>";

2 个答案:

答案 0 :(得分:0)

这没有多大意义。你想要提交按钮做什么?

提交按钮会将页面重定向到目标所在的位置。当您将其留空时,它将恢复为默认目标,即当前页面。

如果您希望提交按钮POST到其他页面,则需要指定操作属性:<form method="POST" action="destination.php">

否则,将<input type = "submit">更改为简单的<button>会阻止其刷新页面,但也会删除首先拥有表单的要点。

答案 1 :(得分:0)

我并不完全明白你的意思“每当我按下提交按钮时,它就像是在刷新我的页面”(当你提交一个没有动作属性的表格时,页面当然会被重新加载)。

在任何情况下,我可以看到读取代码的第一个错误是您将表单放在<tr>内,这是不允许的。您可以将整个表格放在<td>内的表格或整个表格中,而其他所有组合都是非法的。