PHP - 基于数据库查询

时间:2014-10-04 12:39:15

标签: php

我在PHP中构建了一个表来显示与它们相关的人员和数据列表。我希望用户能够选择其中一个用户发送电子邮件请求。所以我为每个用户在每行的末尾放了一个按钮。

我不确定如何编写PHP脚本来识别按下了哪个按钮。我已经尝试将按钮的名称指定为该行的用户的电子邮件地址,但我不知道如何在相应的脚本中读取该值...

初始页面代码:

if ($query_run = mysql_query($query))
{

echo "<fieldset>";

echo "<table>";
while ($row = mysql_fetch_assoc($sqldata))
{

    echo "<tr><th>Name</th>";
    echo "<td>";
    echo $row['FirstName']." ".$row['LastName'];
    echo "<td>";
    echo $row['Country'];
    echo "<td>";
    echo $row['Profile'];
    echo "<td>";
    echo $row['Email'];
    $Email = $row['Email'];
    echo "<td>";
    echo '<input type = "submit" name="$Email" value="connect">';

}
echo "</table>";
echo "</fieldset>";

谢谢!

3 个答案:

答案 0 :(得分:0)

如果您计划在HTML5中执行此操作,则可以更改提交按钮,以便将其重定向到页面,您可以通过$_GET[];

获取电子邮件
echo "<input type=\"submit\" formaction=\"request.php?email=".$Email."\" value="Submit">\";

然后在你的request.php中你可以使用:

$email = $_GET['email'];

答案 1 :(得分:0)

我认为,您必须更改&#34; $ Email&#34;来,我不知道,也许&#34; user_email&#34;并将$ email变量分配给value属性。因此,在必须处理此表单的脚本中,您只需要检索$ _POST [&#39; user_email&#39;]的值。

另外我认为在双引号中使用$ Email更好:

echo "<input name='$Email'" ...>;

因为你会得到字符串&#39; $ Email&#39;而不是预期的电子邮件地址。

或者您可以为每个表格行创建一个表单。

答案 2 :(得分:0)

有许多方法可以解决这个问题,但我个人会选择使用HTML表单来实现此目的。请考虑以下HTML:

<form name="myForm" method="GET" action="">
    <button type="submit" name="email" value="test1@email.web">test 1</input>
    <button type="submit" name="email" value="test2@email.web">test 2</input>
    <button type="submit" name="email" value="test3@email.web">test 3</input>
</form>

如果您尝试单击其中一个按钮,则会注意到您的查询字符串现在将显示?email=test2%40email.web(假设您单击了第二个按钮)。

这种方法的要点是为提交按钮使用相同的name属性,但为每个属性分配不同的值。由于能够显示与button属性不同的按钮文字(如in this question所述),我选择input而不是value

在PHP中应用这个原则,你会得到类似的东西:

while ($row = mysql_fetch_assoc($sqldata))
{

    echo "<tr><th>Name</th>";
    echo "<td>";
    echo $row['FirstName']." ".$row['LastName'];
    echo "<td>";
    echo $row['Country'];
    echo "<td>";
    echo $row['Profile'];
    echo "<td>";
    echo $row['Email'];
    $Email = $row['Email'];
    echo "<td>";
    echo '<button type="submit" name="email_address" value="' . $Email . '">Send email</button>';

}

然后,您只需检查email_address参数中的电子邮件地址。