ระบบส่งอีเมลล์หาสมาชิกค่ะ รบกวนช่วยดูหน่อยนะคะ
กำลังทำระบบ ส่ง email ค่ะ แล้วก็ ติดตรงที่ว่า ได้ทำ Table แยก 2 Table ซึ่ง ทั้ง 2 Table ไม่มี ความสัมพันธ์กันค่ะ
Table 1 >>> เก็บ อีเมลล์ที่สมัครรับข่าวสาร แต่ไม่จำเป็นต้องสมัครสมาชิก
มีฟิลด์ประกอบด้วย
1. id >> รหัส
2. Email >> อีเมลล์
3. Status>> สถานการณ์รับข่าวสาร (รับข่าวสาร ,ไม่รับข่าวสาร)
Table 2 >>> เก็บ รายละเอียดของสมาชิก
มีฟิลด์ประกอบด้วย
1. Id
2. Username
3. password
4.name
5.nickname
6.sex
7.email
8.address
9.province
10.telephone
11.fax
12.mobile
13.status
14. Thumnails
15. Filesname
คำถามก็คือ จะทำอย่างไร ที่จะสามารถส่ง อีเมลล์หา อีเมลล์ใน Databases เหล่านี้ได้ จาก form เดียวกัน ซึ่ง มันไม่สามารถ join Table ได้ ตอนนี้โค้ดที่เขียนได้ก็คือ
<?
include "connect.php";
$tb1 = "news_email";
$tb2 = "member";
// คำสั่งเลือกข้อมูลจากตาราง news_email
$sql = "SELECT * FROM $tb1 WHERE status='yes'";
$objquery = mysql_query($sql) or die ("Error Query [".$sql."]");
//$Num_Rows = mysql_num_rows($objqury );
//$objResult = mysql_fetch_array($objquery);
//echo $objResult["email"];
while ($objResult = mysql_fetch_array($objquery))
{
$subject = $_POST["subject"];
$message = nl2br($_POST["description"]);
//*** Uniqid Session ***//
$strSid = md5(uniqid(time()));
$strHeader = "";
$strHeader .= "From: ".$_POST["fromname"]."<".$_POST["email"].">\nReply-To: ".$_POST["fromemail"]."";
$to= $objResult["email"]; /*"hairaung@hotmail.com" ;*/
$strHeader .= "MIME-Version: 1.0\n";
$strHeader .= "Content-Type: multipart/mixed; boundary=\"".$strSid."\"\n\n";
$strHeader .= "This is a multi-part message in MIME format.\n";
$strHeader .= "--".$strSid."\n";
$strHeader .= "Content-type: text/html; charset=windows-874\n"; // or UTF-8 //
$strHeader .= "Content-Transfer-Encoding: 7bit\n\n";
$strHeader .= $message."\n\n";
$flgSend = @mail($to,$subject,$message,null,$strHeader); // ส่งอีเมลล์
if($flgSend)
{
echo $objResult["email"];
echo "ส่งอีเมลล์เรียบร้อยแล้วค่ะ<br>";
}
else
{
echo $objResult["email"];
echo "ไม่สามารถส่งอีเมลล์ได้ค่ะ<br>";
}
}
mysql_close();
?>
ขอคำแนะนำหน่อยค่ะว่า จะทำอย่างไรค่ะ ขอบคุณล่วงหน้านะคะ
Table 1 >>> เก็บ อีเมลล์ที่สมัครรับข่าวสาร แต่ไม่จำเป็นต้องสมัครสมาชิก
มีฟิลด์ประกอบด้วย
1. id >> รหัส
2. Email >> อีเมลล์
3. Status>> สถานการณ์รับข่าวสาร (รับข่าวสาร ,ไม่รับข่าวสาร)
Table 2 >>> เก็บ รายละเอียดของสมาชิก
มีฟิลด์ประกอบด้วย
1. Id
2. Username
3. password
4.name
5.nickname
6.sex
7.email
8.address
9.province
10.telephone
11.fax
12.mobile
13.status
14. Thumnails
15. Filesname
คำถามก็คือ จะทำอย่างไร ที่จะสามารถส่ง อีเมลล์หา อีเมลล์ใน Databases เหล่านี้ได้ จาก form เดียวกัน ซึ่ง มันไม่สามารถ join Table ได้ ตอนนี้โค้ดที่เขียนได้ก็คือ
<?
include "connect.php";
$tb1 = "news_email";
$tb2 = "member";
// คำสั่งเลือกข้อมูลจากตาราง news_email
$sql = "SELECT * FROM $tb1 WHERE status='yes'";
$objquery = mysql_query($sql) or die ("Error Query [".$sql."]");
//$Num_Rows = mysql_num_rows($objqury );
//$objResult = mysql_fetch_array($objquery);
//echo $objResult["email"];
while ($objResult = mysql_fetch_array($objquery))
{
$subject = $_POST["subject"];
$message = nl2br($_POST["description"]);
//*** Uniqid Session ***//
$strSid = md5(uniqid(time()));
$strHeader = "";
$strHeader .= "From: ".$_POST["fromname"]."<".$_POST["email"].">\nReply-To: ".$_POST["fromemail"]."";
$to= $objResult["email"]; /*"hairaung@hotmail.com" ;*/
$strHeader .= "MIME-Version: 1.0\n";
$strHeader .= "Content-Type: multipart/mixed; boundary=\"".$strSid."\"\n\n";
$strHeader .= "This is a multi-part message in MIME format.\n";
$strHeader .= "--".$strSid."\n";
$strHeader .= "Content-type: text/html; charset=windows-874\n"; // or UTF-8 //
$strHeader .= "Content-Transfer-Encoding: 7bit\n\n";
$strHeader .= $message."\n\n";
$flgSend = @mail($to,$subject,$message,null,$strHeader); // ส่งอีเมลล์
if($flgSend)
{
echo $objResult["email"];
echo "ส่งอีเมลล์เรียบร้อยแล้วค่ะ<br>";
}
else
{
echo $objResult["email"];
echo "ไม่สามารถส่งอีเมลล์ได้ค่ะ<br>";
}
}
mysql_close();
?>
ขอคำแนะนำหน่อยค่ะว่า จะทำอย่างไรค่ะ ขอบคุณล่วงหน้านะคะ
2.query ครั้งเดียว จากทั้ง 2 ตาราง โดยใช้ UNION แต่การ query ทั้ง 2 ตาราง ต้องมี ข้อมูลตรงกัน ซึ่งเป็นไปได้แค่ query เอาเฉพาะ รายชื่อ อีเมล์ออกมาเท่านั้น