2016-04-27 130 views
0

我有一張表,其中包含一些來自我的數據庫的信息。我在表格中的每一行旁邊都有按鈕。如果按鈕被點擊,它應該發送一封電子郵件給用戶。我可以給每個按鈕一個獨特的值,但不能在if isset中有這個值....我應該如何獲得按鈕名稱的值是可變的,我怎樣才能得到我的網址結束的值。

echo "<table>"; 
echo "<tr><td>Naam</td><td>EmailAdress</td><td>Datum</td><td>Type</td><td>Producent</td><td>SerieNummer</td><td> imei</td><td>Manager</td><td>bevestigd</td></tr>"; 
while($row = mysqli_fetch_row($result)){ 
$sqlid = "SELECT Bevestigd FROM tbl_bevestiging WHERE IDbewijs = " . $row[0]; 
$resultid = mysqli_query($conn, $sqlid); 
$row2 = mysqli_fetch_row($resultid); 
echo "<tr><td>" . $row[1] . "</td><td>" . $row[2] . "</td><td>" . $row[3] . "</td><td>" . $row[4] . "</td><td>" . $row[5] . "</td><td>" . $row [6] . "</td><td>" . $row[7] . "</td><td>" . $row[8] . "</td><td>" . $row2 [0] . "</td><td><form method=\"post\"><input name=\"" . $row[0] . "\"  type=\"submit\" value=\"" . $row[0] . "\"</form></td></tr>"; 
} 
echo "</table>"; 

if (isset($_POST[$row[0]])){ 
$admin_email = "[email protected]," . $row[2]; 
mail($admin_email, "Ontvangstbewijs geleverde hardware  herverstuurd", "url?id=" . $row  [0] , "From:" . "[email protected]"); 
mysqli_close($conn); 
} 
?> 
+0

[表單發佈時發送提交按鈕的值可能重複](http://stackoverflow.com/questions/22579616/send-value-of-submit-button-when-form-gets-posted) – Ionut

+0

* * WHOA !!! ** ** **從不**將數據庫查詢放入*任何*種編程循環中!這是一個非常明顯的標誌,您尚未對SQL有足夠的瞭解。 – John

回答

0

我認爲這些東西值得我們首先指出。

  1. 表頭標籤應該在THEAD標籤中。見示例here
  2. 嘗試並避免循環中的SQL。如果可能的話,創建一個SQL來爲你減少發送給MySQL的查詢數量。

回到你的問題。就我個人而言,我會做的是在TD標籤中有一個FORM標籤。這樣,每個按鈕都可以在隱藏的INPUT標籤中設置自己的唯一ID。

例如:

<tr> 
<td> 
<form action="[[YOUR-PHP-FILE]]" method="post"> 
<input type="hidden" name="id" value="[[ID]]" /> 
<input type="submit" value="Submit" /> 
</form> 
</td> 
</tr> 

這樣,你不需要把重點放在提交按鈕而是ID。