我是 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 。
非常感谢您
编辑:感谢您提供有关嵌套表单的信息。我删除了其他表格作为测试,它现在可以按我想要的方式工作。现在的问题是如何整合同时更新联系人,删除联系人和收集电子邮件地址的功能。有人可以帮忙吗?
答案 0 :(得分:0)
如果我正确理解了您的问题,则希望通过选中某些框并获取其他数据点来从搜索结果中选择一些选项。 这是我可以看到完成的一种方式:
1)使您的复选框输入一个数组。这样,您就可以在接收的PHP页面中遍历它们:
<input type="checkbox" name="salesperson[]" value="<?php echo $row["contactID"];?>>"
2)在接收PHP的页面中,创建一个循环并使用所有选定的$contactarray
条目形成一个数组(我们将其称为contactId
)。
3)创建一个MySql查询以使用如下所示的WHERE
子句来获取附加数据:
$query = "SELECT * FROM contact WHERE contactID in (" . $contactarray . ")";
4)获取该查询的结果,您将获得所需的所有信息。