首页 > 解决方案 > PHP/HTML 表格行在按下更新按钮时不会更改为表单

问题描述

我正在尝试制作一个表格,其中显示来自数据库的数据,并通过按下更新按钮(不是'lidnummer one')行上的单元格应该更改为表单输入字段,其中该行中的数据作为初始输入值。 表格图像

我已经从我发现的东西中复制了这个想法,并将其更改为适合我想要显示的所有数据,但是在按下“更新”按钮时我无法更改行。

echo '<tr>';
echo '<td>Lidnummer</td>';
echo '<td>Voornaam</td>';
echo '<td>Achternaam</td>';
echo '<td>Huisnummer</td>';
echo '<td>Adres</td>';
echo '<td>E-mailadres(sen)</td>';
echo '<td>Telefoonnummer(s)</td>';
echo '<td>Update</td>';
echo '<td>Delete</td>';
echo '<tr>';
for ($j = 0 ; $j < $num_members ; ++$j)
{ 
    $row = $select_result->fetch_array(MYSQLI_ASSOC);   
    
    echo '<tr>';
    if(isset($_GET['lidnummer']) && $row['lidnummer'] == $_GET['lidnummer'])
    {
        echo '<form action="includes/update_ledenlijst.php" method="POST">';
        echo '<td>' . $row["lidnummer"] . '</td>';
        echo '<td><input type="text" name="voornaam" value="' . $row['voornaam'] . '"></td>';
        echo '<td><input type="text" name="naam" value="' . $row['naam'] . '"></td>';
        echo '<td><input type="text" name="huisnummer" value="' . $row['huisnummer'] . '"></td>';
        echo '<td><select id="adres" name="adres">';
                include 'includes/select_postcodes.php';
        echo '</select>';
        echo "<td>";
        echo '<textarea>';
        toon_contactgegevens("telefoonnummers", $row, $conn, "telefoonnummer", "form_data");
        echo '</textarea>';
        echo '</td>';
        echo '<td>';
        echo '<textarea>';
        toon_contactgegevens('emails', $row, $conn, 'email', 'form_data');
        echo '</textarea>';
        echo '</td>';
        echo '<td><button type="submit" class="buttons">Save</button></td>';
        echo '<td>----</td>';
        echo '</form>';
    } else {           
        echo '<td>' . htmlspecialchars($row["lidnummer"])   . "</td>";
        echo '<td>' . htmlspecialchars($row["voornaam"])    . "</td>";
        echo '<td>' . htmlspecialchars($row["naam"])        . "</td>";
        echo '<td>' . htmlspecialchars($row["huisnummer"])  . "</td>";
        echo '<td>' . htmlspecialchars($row["adres"]) . ", " . htmlspecialchars($row["postcode"]) . " " .  htmlspecialchars($row["woonplaats"]) . '</td>';
        echo '<td>';
        toon_contactgegevens('emails', $row, $conn, 'email', "table_data");
        echo '</td>';
        echo '<td>'; 
        toon_contactgegevens("telefoonnummers", $row, $conn, "telefoonnummer", "table_data");
        echo '</td>';  
        echo '<td><a class="buttons" href="home_ledenlijst.php?id='.  $row["lidnummer"] . '" role="button">Update</a></td>';
                
    }
    echo "<td><a class='buttons' href='includes/delete_ledenlijst.php?id='" . $row['lidnummer'] . "' role='button'>Delete</a></td>"; 
    echo "</tr>";
}

这可能是我忽略的东西,而且很容易..但我是新手,所以我还在学习:)

标签: phpformshtml-table

解决方案


您正在将一个调用的值传递id给服务器:

href="home_ledenlijst.php?id='.  $row["lidnummer"] . '"

但寻找一个名为lidnummer

$_GET['lidnummer'] 

您如何识别这些值需要相同。尝试寻找id价值:

$_GET['id'] 

推荐阅读