Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,027

HOME > PHP > PHP Forum > แนะวิธีเขียน Code insert...Email ข้อมูลลงฐานข้อมูล แบบ loop ให้หน่อยค่ะ



 

แนะวิธีเขียน Code insert...Email ข้อมูลลงฐานข้อมูล แบบ loop ให้หน่อยค่ะ

 



Topic : 107628



โพสกระทู้ ( 66 )
บทความ ( 0 )



สถานะออฟไลน์




Code (PHP)
<?PHP
ob_start();  //ส่งข้อมูลไปเก็บไว้ที่ buffer ก่อน เมื่อได้ครบ แล้วค่อยส่งไปทีเดียว...เก็บ HTML ไว้ในตัวแปร PHP

include ("Connections/connect_sqlserver.php");
 
$datetime = date("y-m-d H:i:s");
$thai_n=array("มกราคม","กุมภาพันธ์","มีนาคม","เมษายน","พฤษภาคม","มิถุนายน","กรกฎาคม","สิงหาคม","กันยายน","ตุลาคม","พฤศจิกายน","ธันวาคม");
$d=date("d");
$n=$thai_n[date("n")-1];
$y=date("Y")+543;
$t=date("H:i:s");
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>
<body onload="">

<div id="demo"></div>
<!-- <button onclick="myStopFunction()">Stop time</button> -->
    ส่งเมล์อัตโนมัติ ทุกวัน ศุกร์ ในเวลา 
    <input name="timeseteday" type="text" id="timeseteday" style="width:100px; text-align:right;" value="15:10:00" /> 
    นาฬิกา <br />

<script>
var myVar=setInterval(function(){myTimer()},1000);
function myTimer()
{
var d=new Date();
var t=d.toLocaleTimeString();
//var t2=
//var tt = t + t2;
var duetime = document.getElementById('timeseteday').value;
//document.getElementById('testtimeid').innerHTML = duetime;
document.getElementById("demo").innerHTML='ขณะนี้เวลา : ' + t + ' นาฬิกา';
if(t==duetime){
	document.getElementById('testtimeid').innerHTML = "Yes....!";	
	location.reload();
}
}
function myStopFunction()
{
clearInterval(myVar);
}

///FUNCTION สำหรับโหลดเปิดหน้าเว็บขึ้นมาอีกหน้า///

function window_load(){
	window.open('cn.php','_blank'); }

//function window_load(){ 
//	window.open('sale.php','_blank'); } 
//----------------------------------//

</script>
<div id="testtimeid"></div>
<?PHP

$dayname[] = "'Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday'";
$datenow = jddayofweek(cal_to_jd(CAL_GREGORIAN, date("m"),date("d"), date("Y")) , 1 );
echo "Today is : {$datenow} <br>";
if($datenow=='Thursday'){
	
echo "<script> window_load(); </script>";  //เรียนใช้ window_load


	
	ob_start(); 
	require("PHPMailer/class.phpmailer.php");
	
	$mail = new PHPMailer();
	
	$mail->IsSendmail(); // telling the class to use SendMail transport
	

	$mail->CharSet = "utf-8"; //กำหนดรูปแบบตัวอักษร
	$mail->IsHTML (true); //หากส่งในรูปแบบ html ถ้าส่งเป็น text ก็ลบบรรทัดนี้ออกได้
	$mail->IsSMTP(); //กำหนดว่าเป็น SMTP
$mail->SMTPDebug = 0;
	$mail->SMTPAuth = true; //กำหนดให้มีการตรวจสอบสิทธิ์การใช้งาน
	$mail->Host = "mail.numchai.com"; // ชื่อของเครื่องเซิร์ฟเวอร์ที่ให้บริการส่งอีเมล์ (SMTP mail server) 
	$mail->Port = 25; // พอร์ท 465;  กำหนด port
$mail->Username = "numchai"; // account SMTP "[email protected]";
	$mail->Password = "PEpanel526"; // รหัสผ่าน SMTP
	
	$mail->SetFrom("[email protected]", "puttida"); //ผู้ส่ง
	$mail->AddReplyTo("[email protected]", "puttida"); //ได้เมลล์แล้วตอบกลับถึงใคร
	
	
//Subject...Content	หัวข้อที่ใช้ในการส่ง
	$mail->Subject = "เปรียบเที่ยบยอดขาย 1 มกราคม ถึง $d $n ระหว่างปี 56 กับ 57.  ณ.เวลา $t น."; 

		
//หน้าที่จะส่ง MAIL
	require('content1.php');
 $body = ob_get_clean();	 //ได้รับข้อมูลบัฟเฟอร์ปัจจุบันและลบบัฟเฟอร์ส่งออกในปัจจุบัน
	$mail->Body = $body; //ใส่เนื้อหา
	$mail->MsgHTML($body);


//EMAIL...
	$mail->AddAddress("[email protected]", "คุณมุก"); 		//ผู้รับทดสอบ
	// $mail->AddAddress("[email protected]", "คุณเดย์"); 	//ผู้รับทดสอบ	
	// $mail->AddAddress("[email protected]", "คุณบิ๊ก"); 	// ผู้รับคนที่หนึ่ง
	// $mail->AddAddress("[email protected]", "คุณเบล"); 		// ผู้รับคนที่สอง
	// $mail->AddAddress("[email protected]", "[email protected]"); //ผู้รับคนที่สาม
// $mail->AddAddress("[email protected]", ""); 
	// $mail->AddAddress("[email protected]", "คุณบอส"); 
	// $mail->AddAddress("[email protected]", "คุณอุ้ม"); 
	// $mail->AddAddress("[email protected]", "คุณเดย์"); 
	// $mail->AddAddress("[email protected]", "คุณมุก"); 
	

	$email= "[email protected]" ;
	//$email= "[email protected]" ;	
	//$email= "[email protected]"; 	
	//$email= "[email protected]"; 		
	//$email= "[email protected]"; 
	//$email= "[email protected]"; 
	//$email= "[email protected]"; 
	//$email= "[email protected]"; 
	//$email= "[email protected]"; 
	//$email= "[email protected]"; 

	
//แจ้งผลการส่งMAIL	
	$host="localhost";
	$user="root";
	$pw="mypassword";
	//$pw="littlejust";
	$dbname="numchai_db";
	$c=mysql_connect($host,$user,$pw); //เชื่อมตอ
	mysql_select_db($dbname,$c); //เลือกติดต่อกับฐานข้อมูลที่กำหนด
	mysql_query("set names tis620"); //เชื่อมต่อไปเป็นภาษาไทย
 	if(!$c){
		echo"<h3>Can't connect database!</h3>";
		exit();
	}

	
	if(!$mail->Send()) { #กรณีที่ส่งเมล์ไม่ได้
		mysql_query("INSERT INTO logfile_tb VALUES ('$email','$datetime','$datetime','content 1','Error') ") or die(mysql_error());
		echo "Mailer Error: " . $mail->ErrorInfo;
	} else { #กรณีที่ส่งเมล์ได้
		mysql_query("INSERT INTO logfile_tb VALUES ('$email',' $datetime','$datetime','content 1','Finnish') ") or die(mysql_error());
		echo "Message sent already!";
	}
	
}else{
	echo "Error Defalse Time";
} 
?> 
</body>
</html>
<script>
	setTimeout("testtime1()", 30000);
</script>


ตอนนี้...บันทึกข้อมูลลงฐานข้อมูลได้แล้ว ติดอยู่นิดนึงตรง
ถ้าหากส่งเมล์ตั้งแต่ 2 คนขึ้นไป!!!
ข้อมูลจะบันทึกเมล์ชื่อล่าสุด
เช่น ส่งหา A กับ B
แต่ข้อมูลที่บันทึกลงฐานข้อมูล มีแค่ B ไม่มี A
อยากให้เก็บข้อมูลทั้ง A กับ B ค่ะ
เป็นส่วนของการเก็บ LOG FILE
ช่วยหน่อยนะค่ะ
ขอบคุณค่ะ ^__^



Tag : PHP, MySQL







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2014-04-11 15:21:22 By : itengineer View : 2020 Reply : 3
 

 

No. 1



โพสกระทู้ ( 2,311 )
บทความ ( 1 )



สถานะออฟไลน์


เอ้อ ได้สักทีนะ สรุปว่าใช้ mysql เป็นฐานข้อมูล ไม่ใช่ mssql นะ
ส่วนการจะบันทึกข้อมูลลูกค้าหรือสมาชิกที่เราส่งเมล์ไปนั้น ผมมีคำถาม
เมล์ของสมาชิกนั้นคุณเอามาจากไหน จากฐานข้อมูลหรือว่าพิมพ์เข้าไปเอง?

ถ้าจากฐานข้อมูลก็ใช้วน Loop นี่แหละ
Code (PHP)
<?PHP
ob_start();  //ส่งข้อมูลไปเก็บไว้ที่ buffer ก่อน เมื่อได้ครบ แล้วค่อยส่งไปทีเดียว...เก็บ HTML ไว้ในตัวแปร PHP

include ("Connections/connect_sqlserver.php");
 
$datetime = date("y-m-d H:i:s");
$thai_n=array("มกราคม","กุมภาพันธ์","มีนาคม","เมษายน","พฤษภาคม","มิถุนายน","กรกฎาคม","สิงหาคม","กันยายน","ตุลาคม","พฤศจิกายน","ธันวาคม");
$d=date("d");
$n=$thai_n[date("n")-1];
$y=date("Y")+543;
$t=date("H:i:s");
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>
<body onload="">

<div id="demo"></div>
<!-- <button onclick="myStopFunction()">Stop time</button> -->
    ส่งเมล์อัตโนมัติ ทุกวัน ศุกร์ ในเวลา 
    <input name="timeseteday" type="text" id="timeseteday" style="width:100px; text-align:right;" value="15:10:00" /> 
    นาฬิกา <br />

<script>
var myVar=setInterval(function(){myTimer()},1000);
function myTimer()
{
var d=new Date();
var t=d.toLocaleTimeString();
//var t2=
//var tt = t + t2;
var duetime = document.getElementById('timeseteday').value;
//document.getElementById('testtimeid').innerHTML = duetime;
document.getElementById("demo").innerHTML='ขณะนี้เวลา : ' + t + ' นาฬิกา';
if(t==duetime){
	document.getElementById('testtimeid').innerHTML = "Yes....!";	
	location.reload();
}
}
function myStopFunction()
{
clearInterval(myVar);
}

///FUNCTION สำหรับโหลดเปิดหน้าเว็บขึ้นมาอีกหน้า///

function window_load(){
	window.open('cn.php','_blank'); }

//function window_load(){ 
//	window.open('sale.php','_blank'); } 
//----------------------------------//

</script>
<div id="testtimeid"></div>
<?PHP
       $host="localhost";
	$user="root";
	$pw="mypassword";
	//$pw="littlejust";
	$dbname="numchai_db";
	$c=mysql_connect($host,$user,$pw); //เชื่อมตอ
	mysql_select_db($dbname,$c); //เลือกติดต่อกับฐานข้อมูลที่กำหนด
	mysql_query("set names tis620"); //เชื่อมต่อไปเป็นภาษาไทย
 	if(!$c){
		echo"<h3>Can't connect database!</h3>";
		exit();
	}

$dayname[] = "'Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday'";
$datenow = jddayofweek(cal_to_jd(CAL_GREGORIAN, date("m"),date("d"), date("Y")) , 1 );
echo "Today is : {$datenow} <br>";
if($datenow=='Thursday'){
	
echo "<script> window_load(); </script>";  //เรียกใช้ window_load

#------------คำสั่งดึงค่าจากฐานข้อมูล---------------------------#
     $getEmail= mysql_query("	SELECT email FROM  email ");
	while($resultEmail = mysql_fetch_assoc($getEmail)){
	

#-----Email ที่ต้องการส่ง-----#
$email= $resultEmail['email'];

	ob_start(); 
	require("PHPMailer/class.phpmailer.php");
	
	$mail = new PHPMailer();
	
	$mail->IsSendmail(); // telling the class to use SendMail transport
	

	$mail->CharSet = "utf-8"; //กำหนดรูปแบบตัวอักษร
	$mail->IsHTML (true); //หากส่งในรูปแบบ html ถ้าส่งเป็น text ก็ลบบรรทัดนี้ออกได้
	$mail->IsSMTP(); //กำหนดว่าเป็น SMTP
$mail->SMTPDebug = 0;
	$mail->SMTPAuth = true; //กำหนดให้มีการตรวจสอบสิทธิ์การใช้งาน
	$mail->Host = "mail.numchai.com"; // ชื่อของเครื่องเซิร์ฟเวอร์ที่ให้บริการส่งอีเมล์ (SMTP mail server) 
	$mail->Port = 25; // พอร์ท 465;  กำหนด port
$mail->Username = "numchai"; // account SMTP "[email protected]";
	$mail->Password = "PEpanel526"; // รหัสผ่าน SMTP
	
	$mail->SetFrom("[email protected]", "puttida"); //ผู้ส่ง
	$mail->AddReplyTo("[email protected]", "puttida"); //ได้เมลล์แล้วตอบกลับถึงใคร
	
	
//Subject...Content	หัวข้อที่ใช้ในการส่ง
	$mail->Subject = "เปรียบเที่ยบยอดขาย 1 มกราคม ถึง $d $n ระหว่างปี 56 กับ 57.  ณ.เวลา $t น."; 

		
//หน้าที่จะส่ง MAIL
	require('content1.php');
 $body = ob_get_clean();	 //ได้รับข้อมูลบัฟเฟอร์ปัจจุบันและลบบัฟเฟอร์ส่งออกในปัจจุบัน
	$mail->Body = $body; //ใส่เนื้อหา
	$mail->MsgHTML($body);


//EMAIL...
	$mail->AddAddress($email, "คุณ........"); 		//ผู้รับทดสอบ ซึ่งจะใช้ค่าที่เราได้จากการดึง Email จากคำสั่งด้านบน
	// $mail->AddAddress("[email protected]", "คุณเดย์"); 	//ผู้รับทดสอบ	
	// $mail->AddAddress("[email protected]", "คุณบิ๊ก"); 	// ผู้รับคนที่หนึ่ง
	// $mail->AddAddress("[email protected]", "คุณเบล"); 		// ผู้รับคนที่สอง
	// $mail->AddAddress("[email protected]", "[email protected]"); //ผู้รับคนที่สาม
// $mail->AddAddress("[email protected]", ""); 
	// $mail->AddAddress("[email protected]", "คุณบอส"); 
	// $mail->AddAddress("[email protected]", "คุณอุ้ม"); 
	// $mail->AddAddress("[email protected]", "คุณเดย์"); 
	// $mail->AddAddress("[email protected]", "คุณมุก"); 
	

	
	//$email= "[email protected]" ;	
	//$email= "[email protected]"; 	
	//$email= "[email protected]"; 		
	//$email= "[email protected]"; 
	//$email= "[email protected]"; 
	//$email= "[email protected]"; 
	//$email= "[email protected]"; 
	//$email= "[email protected]"; 
	//$email= "[email protected]"; 

	
//แจ้งผลการส่งMAIL	
	
	if(!$mail->Send()) { #กรณีที่ส่งเมล์ไม่ได้
		mysql_query("INSERT INTO logfile_tb VALUES ('$email','$datetime','$datetime','content 1','Error') ") or die(mysql_error());
		echo "Mailer Error: " . $mail->ErrorInfo;
	} else { #กรณีที่ส่งเมล์ได้
		mysql_query("INSERT INTO logfile_tb VALUES ('$email',' $datetime','$datetime','content 1','Finnish') ") or die(mysql_error());
		echo "Message sent already!";
	}
	
}else{
	echo "Error Defalse Time";
} 


} #จบคำสั่ง loop while
?> 
</body>
</html>
<script>
	setTimeout("testtime1()", 30000);
</script>









ประวัติการแก้ไข
2014-04-11 15:50:05
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-04-11 15:48:35 By : arm8957
 


 

No. 2



โพสกระทู้ ( 66 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 1 เขียนโดย : arm8957 เมื่อวันที่ 2014-04-11 15:48:35
รายละเอียดของการตอบ ::
แฮะๆกว่าจะได้เล่นเอามึนเหมือนกันค่ะ ใช้ MySQL .. เมล์ของสมาชิก ใช้วิธีพิมเองค่ะไม่ได้ดึงจาก DB

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-04-11 16:09:41 By : itengineer
 

 

No. 3



โพสกระทู้ ( 66 )
บทความ ( 0 )



สถานะออฟไลน์


ยังไม่ได้เลย TwT...ผู้รู้ช่วยสอนหน่อยค่ะ...
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-04-14 15:35:27 By : itengineer
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : แนะวิธีเขียน Code insert...Email ข้อมูลลงฐานข้อมูล แบบ loop ให้หน่อยค่ะ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 05
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่