gpt4 book ai didi

php - 如何查找相同列表中的电子邮件?

转载 作者:太空宇宙 更新时间:2023-11-03 11:54:07 24 4
gpt4 key购买 nike

我有 11 个表 [email1, email2, email3, ... email11]

<?php
$con = mysql_connect("localhost", "root", "");
$db = mysql_select_db("email-db", $con);
$sql = "SELECT Contact_Email FROM email1, email2, email3, email4, email5";
$result = mysql_query($sql);
while ($row = mysql_fetch_array($result)) {
?>
<tr>
<td><? echo $row['Contact_Email']; ?></td>
<td><? echo '<br>'; ?></td>
</tr>
<? } ?>

我实际上想做的是使用 join 从所有表中选择所有电子邮件。怎么做到的?

最佳答案

由于社区投票决定关闭重复 how to display duplicate email address

这是 4 个表的示例,如果需要,您可以将其扩展到 11 个。抱歉,我没有调试这段代码,我猜主要障碍是 mysql 查询从数据库中获取正确的值。

而且您绝对应该停止使用 mysql* 函数!

$sql ="SELECT t.Contact_Email,
e1.Contact_Email email1,
e2.Contact_Email email2,
e3.Contact_Email email3,
e4.Contact_Email email4
FROM (
SELECT e.Contact_Email FROM email1 e
UNION ALL
SELECT e.Contact_Email FROM email2 e
UNION ALL
SELECT e.Contact_Email FROM email3 e
UNION ALL
SELECT e.Contact_Email FROM email4 e
) t
LEFT JOIN email1 e1
ON t.Contact_Email = e1.Contact_Email
LEFT JOIN email2 e2
ON t.Contact_Email = e2.Contact_Email
LEFT JOIN email3 e3
ON t.Contact_Email = e3.Contact_Email
LEFT JOIN email4 e4
ON t.Contact_Email = e4.Contact_Email";

echo '<table><thead><tr><th>Email</th>';
for ($i=1;$i<5; $i++){
echo "<th>email $i</th>";
}
echo '</tr></thead><tbody>';

$result = mysql_query($sql);
while ($row = mysql_fetch_array($result)) {
echo '<tr><td>'.$row['Contact_Email'].'</td>';
for ($i=1;$i<5; $i++){
echo '<td>'.(empty($row['email'.$i])?'no':'yes').'</td>';
}
echo '</tr>';
}
echo '</tbody></table>';

UPDATE 使用相同的查询,但将输出部分更改为:

echo '<table><thead><tr><th>Email</th>';
for ($i=1;$i<5; $i++){
echo "<th>email $i</th>";
}
echo "<th>Total (yes)</th>";
echo "<th>Total (no)</th>";
echo '</tr></thead><tbody>';

$result = mysql_query($sql);
while ($row = mysql_fetch_array($result)) {
$yesCount = 0;
$noCount = 0;
echo '<tr><td>'.$row['Contact_Email'].'</td>';
for ($i=1;$i<5; $i++){
echo '<td>'.(empty($row['email'.$i])?'no':'yes').'</td>';
if (empty($row['email'.$i])) {
$noCount++;
} else {
$yesCount++;
}
}
echo '<th>'.$yesCount.'</th>';
echo '<th>'.$noCount.'</th>';
echo '</tr>';
}
echo '</tbody></table>';

关于php - 如何查找相同列表中的电子邮件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34014351/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com