[英]HTML form to update Mysql with PHP (and HTML)
我一直在努力開發一個人們可以添加列表的房地產頁面。 我是php mysql世界的新手。 我已經解決了這個問題超過一天,無法找出問題所在。 我有一個人們可以添加數據的表單。 這很好,也很有效。 現在我開始有一個人們可以添加/刪除/更新他們的信息的地方。 我正在嘗試逐步構建它。
這是用戶可以提取信息的地方。 我的問題是代碼片段:
edit_form.php?idBAR=$row[id].
完整代碼如下。
<table>
<tr>
<td align="center">EDIT DATA</td>
</tr>
<tr>
<td>
<table border="1">
<?php
include"configS_OH.php";//database connection
$order = "SELECT * FROM braaasil_brokerstour.property";
$result = mysql_query($order);
while ($row=mysql_fetch_array($result)){
echo ("<tr><td>$row[id]</td>");
echo ("<td>$row[address]</td>");
echo ("<td>$row[day]</td>");
echo ("<td>$row[hours]</td>");
echo ("<td><a href=\"edit_form.php?idBAR=$row[id]\">Edit</a></td></tr>");
}
?>
</table>
</td>
</tr>
</table>
然后本教程嘗試通過地址欄傳遞id(我不太了解php實際說多少)
它會嘗試將數據上傳到一個人可以編輯信息的新表單中。 但我無法將數據加載到新表單中。 如果我使用id = 7的地方,我會將信息輸入表格。 但是這種在地址欄中傳遞信息的方法,如?idBAR = 8 ...然后嘗試在其他代碼(其中id = $ idBAR)中捕獲它,是行不通的。 這是代碼:
<table border=1>
<tr>
<td align=center>Form Edit Employees Data</td>
</tr>
<tr>
<td>
<table>
<?php
include "configS_OH.php";//database connection
print $database;
$order = "SELECT * FROM braaasil_brokerstour.property
WHERE id='$idBAR'";
print $idBAR;
$result = mysql_query($order) or die( mysql_error() );
$row = mysql_fetch_array($result);
?>
<form method="post" action="edit_data.php">
<input type="hidden" name="idBAR" value="<?php echo "$row[id]"?>">
<tr>
<td>Address</td>
<td>
<input type="text" name="address"
size="20" value="<?php echo "$row[address]"?>">
</td>
</tr>
<tr>
<td>Date</td>
<td>
<input type="text" name="day" size="40"
value="<?php echo "$row[day]"?>">
</td>
</tr>
<tr>
<td>Time</td>
<td>
<input type="text" name="time" size="40"
value="<?php echo "$row[hours]"?>">
</td>
</tr>
<tr>
<td align="right">
<input type="submit"
name="submit value" value="Edit">
</td>
</tr>
</form>
</table>
</td>
</tr>
</table>
我試過試過試過..感謝您提前的時間。
WHERE id='$idBAR'
您尚未$idBAR
分配任何值。 您需要先從$ _GET數組中讀取它:
$idBAR = $_GET['idBAR'];
當然,您應該首先檢查此值是否存在,並且是可接受的。
我沒有看到你實際使用GET數據的任何地方,只是在GET中使用的引用名稱。
如果您的第一個查詢正在運行並且正在獲取$row['id']
值,那么您可以在轉到edit_form.php時驗證這一點,在頂部的瀏覽器URL欄中,它是否會這樣說:
edit_form.php?idBAR=7
(或者應該有什么號碼)
如果是這樣,那么你只需要使用PHP GET。 您的數據存儲在$_GET[]
,在這種情況下,引用名稱為idBAR。 因此,您之前頁面查詢中的ID將通過鏈接發送到您的URL中,並且在edit_form.php頁面上,您將使用以下數據:
$_GET['idBAR']
您可以使用它,但我個人將數據分配給變量,例如:
$strGetId = $_GET['idBAR'];
然后你可以在整個代碼中使用$strGetId
。 另外,檢查諸如isset()
, empty()
等之類的東西,只是因為你知道你正在使用A)實際上有東西,而且B)它不是空的等等
如果你將一個變量直接放在一個沒有連接的字符串中,它就不能是一個數組變量; 你必須連接那些你需要的東西。 所以這
echo ("<td><a href=\"edit_form.php?idBAR=$row[id]\">Edit</a></td></tr>");
應該是這個
echo ("<td><a href=\"edit_form.php?idBAR=".$row['id']."\">Edit</a></td></tr>");
此外,您的表單看起來像是使用POST發送數據。 當您在問號后面的url字符串中傳遞表單數據時,即使用get傳遞。
所以...在您希望使用該變量的表單中,您可以像這樣設置它
$idBAR=$_GET['idBAR']; //to get the variable if it was part of the URL
$idBAR=$_POST['idBAR']; //if it was sent with post, as is the case with your form
另外,請求包含get和post,所以
$idBAR=$_REQUEST['idBAR'];
將適用於任何一種情況。
問題是$ row [id]被視為文本就像其他一切一樣。 你想要$ row [id]的值。 代替
echo ("<td><a href=\"edit_form.php?idBAR=$row[id]\">Edit</a></td></tr>");
嘗試
echo ("<td><a href=\"edit_form.php?idBAR=" . $row[id] . "\">Edit</a></td></tr>");
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.