0
我目前正面臨着一個奇怪的問題,我沒有從我的調試頁面收到任何錯誤。我的表格由多行組成,只有表格的第一行無法刪除。刪除已填充表中的行
樣品形式:
$DB = new PDO('sqlite:database/Sample.db');
$result = $DB->query("select * from staff");
foreach ($result as $row)
{
$StaffNo= $row['StaffNo'];
$Name= $row['Name'];
$TelNo= $row ['TelNo'];
echo "<tr>";
//Go to remove.php to remove
echo "<form action=\"Remove.php\" method=\"post\">";
echo "<input type=\"hidden\" name=\"StaffNo\" value=\"$StaffNo\">";
echo "<input type=\"submit\" onclick=\"return confirm('Yes/No')\"/>";
echo "</form>";
echo "</td>";
echo '<td data-column-name="Name" char="data">'.$Name.'</td>';
echo '<td data-column-name="TelNo" char="data">'.$TelNo.'</td>';
</tr>
}
Remove.php:
$StaffNo= $_POST["StaffNo"];
$DB = new PDO('sqlite:database/Sample.db');
$DB->query("DELETE FROM Staff WHERE StaffNo=".$StaffNo);
@header("location:view.php");
從上面我的代碼,我可以刪除除了第一行我的全部樣本的記錄。它不會被刪除...請告訴我是否在某處做錯了...
也許你只是沒有發送'StaffNo'。嘗試輸出每個'StaffNo'發送到Remove.php – Tomer 2012-07-18 10:07:29
我試過了。它可以刪除除第一行以外的所有行。 – JLearner 2012-07-18 10:13:52
由於複製粘貼錯誤,或者在您的真實代碼中是否存在錯誤放置的'}'(現在,'$ staffNo'正在被每次循環迭代覆蓋)和'
回答
我試過你的代碼,除了破錶代碼,一切似乎都很好。確保你的桌子是正確的(
<table><tr><td>Content</td></tr></table>
)。在你的問題中,你錯過了第一個文件第9行的開頭<td>
,以及缺少<table>
標籤。某些瀏覽器不能很好地處理破損的表格,這可能會弄亂您的表格。如果
$StaffNo
是一個空字符串,那麼您的查詢也會中斷,所以仔細檢查一下。您還可以嘗試刪除
header()
電話並使用$DB->errorInfo()
打印出錯誤。來源
2012-07-18 11:29:40 RikkusRukkus
沒有任何錯誤給出$ DB-> errorInfo()雖然... – JLearner 2012-07-18 11:57:40
你是對的。我失蹤搞砸了。 – JLearner 2012-07-18 12:32:23
要注入您的變量我隱藏的字段,您應該輸入 「。$ StaffNo」。 而不是 「$ StaffNo」。 可能它不會刪除表格的第一行,因爲它是唯一一個定義了StaffNo的表格。
來源
2012-07-18 10:51:19 Riccardo
他使用雙引號,所以變量將被解釋。如果他使用單引號,他確實需要類似'value ='''。$ StaffNo。'「'。使用雙引號,'value = \「$ StaffNo \」'就足夠了。 – RikkusRukkus 2012-07-18 11:30:45
相關問題