 |
อยากทราบว่า PHP พอจะทำแบบนี้ได้มั้ยครับ โปรดชี้แนะหน่อย |
|
 |
|
|
 |
 |
|
ถ้าเป็น linux จะใช้ โปรแกรม crontab
http://docs.phplist.com/CronJobExamples.html
ส่วนwindow จะใช้ schedule task
https://www.drupal.org/node/31506
|
ประวัติการแก้ไข 2015-04-10 16:12:00
 |
 |
 |
 |
Date :
2015-04-10 16:10:07 |
By :
Chaidhanan |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
แล้วต้องเขียน CODE PHP ยังไงหรอครับ
|
 |
 |
 |
 |
Date :
2015-04-10 17:31:55 |
By :
crono001 |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
การใช้งาน Direct Admin : Cronjobs
|
 |
 |
 |
 |
Date :
2015-04-11 08:17:12 |
By :
mr.win |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ขอบคุณครับ
|
 |
 |
 |
 |
Date :
2015-04-11 16:06:59 |
By :
crono001 |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ตอนนี้สามารถ Auto Send Email ได้แล้วคับ แต่ผมอยากให้มันลูปเช็ค Email ที่มีในวันนั้นๆ ด้วยผมต้องเขียน ลูปยังไงครับ
Code (PHP)
<html>
<head>
<title></title>
</head>
<body>
<?php
$objConnect = mysqli_connect("","","","");
//$_POST["sMemberID"] = "1"; // for Sample
$today = date("y-m-d");
$strSQL = "SELECT * FROM Queue Q INNER JOIN member M ON Q.MemberID=M.MemberID INNER JOIN Timeque T ON Q.QueTime = T.QueTime WHERE Q.QueDate = '".$today."' ";
$objQuery = mysqli_query($objConnect,$strSQL);
$obResult = mysqli_fetch_array($objQuery);
if($obResult)
{
$strTo = $obResult["Email"];
$strSubject = "=?UTF-8?B?".base64_encode("ระบบแจ้งเตือนอัตโนมัติจากทางร้าน ")."?=";
$strHeader .= "MIME-Version: 1.0' . \r\n";
$strHeader .= "Content-type: text/html; charset=utf-8\r\n";
$strHeader .= "From: [email protected]";
$strEmail = $obResult["TimeType"];
$strVar = "พรุ่งนี้เป็นคิวของคุณ เวลา : ";
$strMessage = "<p>".$strVar."".$strEmail."</p></br>
";
$flgSend = @mail($strTo,$strSubject,$strMessage,$strHeader); // @ = No Show Error //
if($flgSend)
{
echo "Email Sending.";
}
else
{
echo "Email Can Not Send.";
}
}
mysqli_close($objConnect);
?>
</body>
</html>
|
ประวัติการแก้ไข 2015-04-11 18:39:39
 |
 |
 |
 |
Date :
2015-04-11 17:50:09 |
By :
crono001 |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ผมลองเขียนแล้วแต่ตอนมันส่ง email แค่ email เดียวครับ รับกวนช่วยดูหน่อยคับ
Code (PHP)
<?php
$objConnect = mysqli_connect("","","","");
//$_POST["sMemberID"] = "1"; // for Sample
$today = date("y-m-d");
$strSQL = "SELECT * FROM Queue Q INNER JOIN member M ON Q.MemberID=M.MemberID INNER JOIN Timeque T ON Q.QueTime = T.QueTime WHERE Q.QueDate = '".$today."' ";
$objQuery = mysqli_query($objConnect,$strSQL);
$obResult = mysqli_fetch_array($objQuery);
while($obResult = mysqli_fetch_array($objQuery)){
if($obResult)
{
$strTo = $obResult["Email"];
$strSubject = "=?UTF-8?B?".base64_encode("ระบบแจ้งเตือนอัตโนมัติจากทางร้าน")."?=";
$strHeader .= "MIME-Version: 1.0' . \r\n";
$strHeader .= "Content-type: text/html; charset=utf-8\r\n";
$strHeader .= "From: [email protected]";
$strEmail = $obResult["TimeType"];
$strVar = "พรุ่งนี้เป็นคิวของคุณ เวลา : ";
$strMessage = "<p>".$strVar."".$strEmail."</p>";
$flgSend = @mail($strTo,$strSubject,$strMessage,$strHeader); // @ = No Show Error //
if($flgSend)
{
echo "Email Sending.";
}
else
{
echo "Email Can Not Send.";
}
}
}
mysqli_close($objConnect);
?>
|
 |
 |
 |
 |
Date :
2015-04-11 20:58:23 |
By :
crono001 |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
เอาบันทัดที่ 10 ออกครับ มันอยู่นอก ลูป
บันทัดที่ 13, 14 และ 41 เอาออกเหมือนกันครับ ไม่ได้ประโยชน์
เพราะเมื่อผ่าน while มาได้ แสดงว่า มีค่าทุกอันครับ ถ้าไม่มีค่า จะไม่เข้า ลูป จบไปเลย
|
 |
 |
 |
 |
Date :
2015-04-11 21:09:07 |
By :
Chaidhanan |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ผมลองเอาออกแล้วตามคำแนะนำครับ แต่มันส่งเข้าแค่ 1 Email ครับ
แต่ในวันที่จะส่งนั้นมี 2 เมลครับ
|
 |
 |
 |
 |
Date :
2015-04-11 21:14:30 |
By :
crono001 |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ถ้าแน่ใจว่าแก้ตามที่ผมบอกแล้ว
เอา statement ที่ได้จากคำสั่งนี้ ไปคิวรี่ใน phpmyadmin ครับว่า ได้กี่ record
$strSQL = "SELECT * FROM Queue Q INNER JOIN member M ON Q.MemberID=M.MemberID INNER JOIN Timeque T ON Q.QueTime = T.QueTime WHERE Q.QueDate = '".$today."' ";
|
 |
 |
 |
 |
Date :
2015-04-12 10:09:27 |
By :
Chaidhanan |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|

ได้ 2 record ครับ
|
 |
 |
 |
 |
Date :
2015-04-12 12:15:39 |
By :
crono001 |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
19 $strHeader .= "MIME-Version: 1.0' . \r\n";
แก้ เป็น
$strHeader = "MIME-Version: 1.0' . \r\n";
ไม่ต้องใส่ จุด ครับ มันต่อ string กลายเป็น หลาย header
|
 |
 |
 |
 |
Date :
2015-04-12 22:14:18 |
By :
Chaidhanan |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ได้แล้วครับ ขอบคุณ คุณ Chaidhanan มากๆ เลยครับที่คอยให้คำปรึกษาขอบคุณจากใจครับ
|
 |
 |
 |
 |
Date :
2015-04-13 12:26:43 |
By :
crono001 |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
|
|