簡體   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