簡體   English   中英

PHP如何在表格內添加編輯按鈕並加載數據以編輯表格

[英]php how to add edit button inside a table and load data to edit form

我想做的是:使用編輯按鈕從mysql數據庫中的表中加載數據。

出了什么問題:單擊編輯按鈕時,它不會在編輯表單上加載數據。

我嘗試過的內容我在Firefox上在家嘗試了以下代碼,它運行良好。 但是在工作中,它無法以編輯形式在Firefox中加載數據,在IE中,單擊按鈕不會執行任何操作。

<?php
echo '<table id="viewAll">';
            echo '<tr>';
            echo '<th>Product</th>';
            echo '<th>Status</th>';
            echo '<th>Summary</th>';
            echo '<th>Created</th>';
            echo '<th>Updated</th>';
            echo '<th>Edit</th>';

            echo '</tr>';


            while ($data=mysqli_fetch_array($result)){

            echo '<tr align="center">

            <td>'.$data['product'].'</td>
            <td>'.$data['status'].'</td>
            <td align="left">'.$data['summary'].'</td>
            <td>'.$data['created'].'</td>
            <td >'.$data['updated'].'</td>';

            echo "<td><a href=\"editForm.php?id=$data[id]\" style=\"text-decoration: none\"><input type=\"submit\" value=\"Edit\" /></a></td>";

            echo '</tr>';


                }#end of while


            }#end of if



echo '</table>';
?>

然后我做:

$id=$_GET['id'];



            $query="SELECT * FROM tickets WHERE id='$id'";


            $result = mysqli_query($db,$query) or die( "My query ($query) generated an error: ".mysql_error());

            $data=mysqli_fetch_array($result);





            mysqli_close($db);

我使用數據數組中的內容將其加載到編輯表單中的字段中。

不幸的是,這在IE中不起作用。 單擊編輯按鈕不會執行任何操作。 有人可以告訴我如何解決嗎? 謝謝。

您不應使用<input type="submit" value="edit" name="edit" />

僅將"<a href='editForm.php?id='".$data['id']."' style='text-decoration: none' />Edit</a>"發送給您數據到editForm.php頁面。

PS:“提交”按鈕只能用於提交表單中的所有表單元素。

嘗試使用此:

echo "<td><form action=\"editForm.php\" method=\"get\"><input type=\"hidden\" name=\"id\" value=\"$data['id']\" style=\"text-decoration: none\" /><input type=\"submit\" value=\"Edit\" /></form></td>";

這意味着您仍然可以使用按鈕。

另外,我強烈建議如果您不使用表格存儲表格數據,請找到其他替代方法,例如<div>

並且請記住清理您的SQL查詢,否則您可能會受到SQL注入攻擊的影響。 (例如$id=$_GET['id']; => $id=mysqli_real_escape_string($conn, $_GET['id']);其中$conn是您的MySQL連接對象)。

您可以在Google上搜索任何這些東西。

更正您以這種方式寫入按鈕的行

echo "<td><a href=\"editForm.php?id=$data[id]\" style=\"text-decoration: none\">Edit</a></td>";

單擊按鈕嘗試提交表單。 但是您要做的是訪問頁面editForm.php

PS:您應該閱讀有關PHP和html的一些教程,以學習最佳實踐;)

在第一個PHP腳本的while循環中,回顯編輯按鈕的行是錯誤的。
您必須使用連接功能. 和引號以獲取$data["id"]
您的行echo "<td><a href=\\"editForm.php?id=$data[id]\\" style=\\"text-decoration: none\\">Edit</a></td>"; 必須替換為:

echo "<td><a href=\\"editForm.php?id=".$data['id']."\\" style=\\"text-decoration: none\\">Edit</a></td>";

或者您可以使用jQuery很好地做到這一點。 嘗試閱讀此內容

暫無
暫無

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

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