2016-04-27 49 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。