簡體   English   中英

向表的每一行添加編輯按鈕以更新PHP中的數據庫

[英]Adding edit button to each row of table to update database in PHP

我創建了一個簡單的查詢,可以從數據庫中檢索記錄並將其傳遞給html。 我想為每一行添加一個“編輯/查看”按鈕,因此在進行了一些研究之后,我得出以下結論:

$query = mysqli_query($con, "SELECT * FROM mytable") or die(mysqli_error($con));
if(mysqli_num_rows($query) > 0) {
    while($row = mysqli_fetch_array($query)) {
        echo "<tr><td>".$row['pId']."</td>";
        echo "<td>".$row['data1']."</td>";
        echo "<td>".$row['data2']."</td>";
        echo "<td><form action='detailform.php' method='POST'><input type='hidden' name='tempId' value='".$row["pId"]."'/><input type='submit' name='submit-btn' value='View/Update Details' /><form></td>";
    }
}

這可以正常工作1條記錄。 但是,如果我有2個或更多,則無論選擇哪個記錄,總是會檢索到最新記錄。 例如,如果您有5條記錄,並且選擇了任何一條記錄,那么將始終選擇第5條記錄,因此我無法更新以前的記錄。 為什么會這樣呢? 我想念什么嗎?

不知道這是否對我有幫助,但這是我的detailform.php的基本邏輯:

if(isset($_POST["tempId"]){ 
     //pass data using post then update. Here's where I keep getting only the latest record regardless of selected record from previous page
} else { //add data }

關閉表格:

echo "<td><form action='detailform.php' method='POST'><input type='hidden' name='tempId' value='".$row["pId"]."'/><input type='submit' name='submit-btn' value='View/Update Details' /></form></td></tr>";

第一個正確發送,因為它最接近“提交”按鈕,其余則更接近最后一個“提交”按鈕

嘗試這個

 while($row = mysql_fetch_assoc($query)) {
        echo "<tr><td>".$row['pId']."</td>";
        echo "<td>".$row['data1']."</td>";
        echo "<td>".$row['data2']."</td>";
        echo "<td><form action='detailform.php' method='POST'><input type='hidden' name='tempId' value='".$row["pId"]."'/><input type='submit' name='submit-btn' value='View/Update Details' /></form></td></tr>";
    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM