  | 
              
	              
	                
  
    
	 
        แนะวิธีเขียน Code insert...Email ข้อมูลลงฐานข้อมูล แบบ 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
$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               
                        | 
           
          
            | 
			
                             | 
           
          
            
              
                   | 
                   | 
                   | 
               
              
                   | 
                
                    
                      | Date :
                          2014-04-11 15:21:22 | 
                      By :
                          itengineer | 
                      View :
                          2251 | 
                      Reply :
                          3 | 
                     
                  | 
                   | 
               
              
                   | 
                   | 
                   | 
               
              | 
           
          
            | 
			 | 
           
         
	    
		             | 
		
			  | 
	 
	
		
			  | 
		  | 
		
			  | 
		
			  | 
	 
 
              
  
          
		
     
		
	  
        
             | 
            | 
            | 
             | 
         
        
             | 
                       | 
          
            
               
                 เอ้อ ได้สักทีนะ สรุปว่าใช้ 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 | 
                         
                    | 
                     | 
                 
                
                     | 
                     | 
                     | 
                 
                | 
             
           
			         | 
             | 
         
        
             | 
            | 
             | 
             | 
         
          
	    
     
               
		
     
		
	     
	    
     
               
		
     
		
	  
        
             | 
            | 
            | 
             | 
         
        
             | 
                       | 
          
            
               
                 ยังไม่ได้เลย TwT...ผู้รู้ช่วยสอนหน่อยค่ะ...                        
               
               | 
             
            
              
			                              
                              
              
                
                     | 
                     | 
                     | 
                 
                
                     | 
                  
                      
                        | Date :
                            2014-04-14 15:35:27 | 
                        By :
                            itengineer | 
                         
                    | 
                     | 
                 
                
                     | 
                     | 
                     | 
                 
                | 
             
           
			         | 
             | 
         
        
             | 
            | 
             | 
             | 
         
          
	    
     
      		  
	
     | 
   
 
                 |