繁体   English   中英

使用复选框从数据库中提取电子邮件地址(PHP,MYSQL)

[英]Pull Email Address From Database Using Checkboxes (PHP, MYSQL)

我是PHP / MYSQL的初学者,需要一些我正在进行的项目的帮助。

我正在为销售人员建立一个联系人数据库。 她需要能够使用搜索词来查找与该词匹配的人的联系人。 当她搜索一个术语并且出现匹配联系人列表时,她希望能够使用复选框选择某些条目,然后获取他们的电子邮件地址列表以复制并粘贴到Outlook中,这样她就可以向她们发送她拥有的电子表格。出售或其他信息。

搜索功能(以及其他所有功能)完美运行,但我似乎无法让最后一部分工作。 现在,如果选中该人员,则仅显示列表电子邮件地址中的最后一个人。 如果未选中列表中的最后一个人,则无论检查了多少其他人,都不会显示任何内容。

我已经在这里搜索并试图实施我所看到的建议,但我没有得到我想要的结果。 我希望有人可以提供帮助。 谢谢

<? php
    if (isset($namesubmit)) {
        $sql = "SELECT * FROM contact WHERE name LIKE '%$searchName%'";
        $result = mysqli_query($connect, $sql);
        if (empty($searchName)) {
            echo '<span style="color:red">Please enter a name to search the database</span>';
        } elseif (mysqli_num_rows($result) > 0) {
            echo "<h3>Results For <b>{$searchName}</b>: <p></h3>";
            while($row = mysqli_fetch_assoc($result)) {
                $id = $row["contactID"];
                $email = $row["email"];
                $bizphone = $row['bizphone'];
                $mobphone = $row['mobphone'];
                echo '<h2>'  . $row["name"] . '<br /></h2>' . '<h3>' . $row["company"] . '<br />' . $row["website"] . '<br />' . "<a href=\"mailto:$email\">" . $email . '</a>' . '<br /> Business Phone Number: ' . "<a href=\"tel:+$bizphone\">" . $bizphone . '</a><br /> Mobile Phone Number: ' . "<a href=\"tel:+$mobphone\">" . $mobphone . '</a><br /> Business Address: ' . $row["address"] . '<br /> Buys: ' . $row["buys"] . '<br /> Sells: ' . $row["sells"]  . '<br />';
                echo  "<form method=\"POST\" action=\"updateform.php\"><input type=\"hidden\" name=\"sel_record\" value=\"$id\"><input type=\"submit\" name=\"update\" value=\"Edit Contact\"></form>" . '<p>' . "<form method=\"post\" action=\"deletecontact.php\"><input type=\"hidden\" name=\"sel_record\" value=\"$id\"><input type=\"submit\" name=\"delete\" value=\"Delete Contact\"></form><p><form method=\"POST\" action=\"emaillist.php\"><input type=\"checkbox\" name=\"action[]\" value=\"$email\" id=\"$email\">Send Email</h3><br /><hr />";
            }
            echo "<input type=\"submit\" name=\"massSubmit\" value=\"Send Email\"></form>";
?>

<? php
    $massSubmit = $_POST['massSubmit'];
    $action = $_POST['action'];
    if (isset($massSubmit)) {
        foreach ($action as $value) {
            echo $value;
        }
    }
?>

所以现在它只会显示列表中最后一个人的电子邮件地址(如果已选中该人)。 如果未检查该人,即使检查了列表中的其他人,也不会显示任何内容。 Var_dump表示NULL

非常感谢你

编辑:感谢您提供有关嵌套表单的信息。 我删除了其他表格作为测试,它现在按照我想要的方式工作。 现在的问题是如何集成更新联系人,删除联系人和同时收集电子邮件地址的能力。 有人能帮忙吗?

如果我正确理解您的问题,您需要通过选中一些框并获取其他数据点从搜索结果中选择一些选项。 这是我可以看到这样做的方式:

1)使您的复选框输入一个数组。 这样你就可以在接收PHP页面中循环它们:

<input type="checkbox" name="salesperson[]" value="<?php echo $row["contactID"];?>>"

2)在接收PHP页面中,创建一个循环并形成一个数组(让我们称之为$contactarray contactId ),其中包含所有选定的contactId条目。

3)使用如下WHERE子句创建MySql查询以获取其他数据:

$query = "SELECT * FROM contact WHERE contactID in (" . $contactarray . ")";

4)获取该查询的结果,您将获得所需的所有信息。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM