[英]How to add collapsible form to edit-button inside PHP code? I tried something, but didn't work
[英]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.