training day 3


วันที่  13 มิ.ย.2561



ตัวอย่างแรกเราทำ อวยพรวันเกิด  และการเชิญเข้ากลุ่ม


///con_db.php///

<?php
$Setup_Server = 'localhost';
$Setup_User = 'root';
$Setup_Pwd = '';

$Setup_Database = 'births';

mysql_connect($Setup_Server,$Setup_User,$Setup_Pwd);

mysql_query("use $Setup_Database");
mysql_query("SET NAMES UTF8");
//mysql_query("SET NAMES TIS620");


?>



//////////



1. sql
//////////////

/*
SQLyog Enterprise - MySQL GUI v8.14
MySQL - 5.5.5-10.1.32-MariaDB : Database - birth
*********************************************************************
*/


/*!40101 SET NAMES utf8 */;

/*!40101 SET SQL_MODE=''*/;

/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
CREATE DATABASE /*!32312 IF NOT EXISTS*/`birth` /*!40100 DEFAULT CHARACTER SET utf8 */;

USE `birth`;

/*Table structure for table `contacts` */

DROP TABLE IF EXISTS `contacts`;

CREATE TABLE `contacts` (
  `id` int(3) NOT NULL AUTO_INCREMENT,
  `name` varchar(300) CHARACTER SET utf8 NOT NULL,
  `position` varchar(300) CHARACTER SET utf8 NOT NULL,
  `email` varchar(300) CHARACTER SET utf8 DEFAULT NULL,
  `mobile` varchar(100) CHARACTER SET utf8 DEFAULT NULL,
  `telephones` varchar(100) CHARACTER SET utf8 DEFAULT NULL,
  `id_position` int(4) DEFAULT NULL,
  `birth` date DEFAULT NULL,
  `id_group` int(2) DEFAULT NULL,
  `level` int(2) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=tis620 CHECKSUM=1 DELAY_KEY_WRITE=1 ROW_FORMAT=DYNAMIC;

/*Data for the table `contacts` */

insert  into `contacts`(`id`,`name`,`position`,`email`,`mobile`,`telephones`,`id_position`,`birth`,`id_group`,`level`) values (1,'santi sukdee','ผู้บังคับบัญชากลุ่มงาน','aaa@gmail.com','089-999-9999','02-244-2000',1000,'2520-06-13',50,12),(2,'chokdee mechai','นักวิชาเกิน','bbb@gmail.com','083-333-3333','02-244-3000',2000,'2521-11-11',50,11),(3,'panuwat  santinum','นักวิชาเกิน','ccc@gmail.com','084-444-4444','02-244-4000',3000,'2522-10-10',50,11);

/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;


///////////////

**** อย่าลืมแก้ฟิลด์ birth ให้เป็นวันที่ตรงกับวันที่ test ด้วย จะได้เห็นผล

2.  //bot.php///

<?php
//error_reporting(0);
header('Content-type: application/json; charset=utf-8');
header('Access-Control-Allow-Origin: *');
header('Access-Control-Allow-Methods: GET, POST');
date_default_timezone_set('Asia/Bangkok');

$servername ="localhost";
$username = "root";
$password = "";
$dbname = "birth";
$now = new DateTime();

//include('con_db.php');
$conn = mysqli_connect("localhost","root","","birth");

//$sql = "select * from contacts";
$sql = "SELECT *,DATE_FORMAT(birth,'%d/%m/%Y') AS births,2560-YEAR(birth) AS ages ,DATE_FORMAT(birth,'%d/%m/%Y') AS birthday,CONCAT(' HAPPY BIRTHDAY ขอให้  ',NAME,'   มีความสุขมาก และมีสุขภาพแข็งแรงน่ะครับ ') AS happy
 FROM contacts
   WHERE      MONTH(STR_TO_DATE(birth,'%Y-%m-%d'))= MONTH(NOW()) AND

                 DAY(STR_TO_DATE(birth,'%Y-%m-%d'))= DAY(NOW())     ";



$resource = mysqli_query($conn,$sql) or trigger_error(mysqli_error($conn));

$count_row = mysqli_num_rows($resource);

if($count_row > 0) {
 while($result =mysqli_fetch_array($resource)){
  $name = $result['name'];
  $birthday =$result['birthday'];
 // $age = $result['age'];
  $happy = $result['happy'];
  $message = "Happy birthday  ".' '.$name.' '.' %E0%B8%82%E0%B8%AD%E0%B9%83%E0%B8%AB%E0%B9%89%E0%B8%A1%E0%B8%B5%E0%B8%84%E0%B8%A7%E0%B8%B2%E0%B8%A1%E0%B8%AA%E0%B8%B8%E0%B8%82%20%E0%B9%80%E0%B8%88%E0%B8%A3%E0%B8%B4%E0%B8%8D%E0%B9%83%E0%B8%99%E0%B8%AB%E0%B8%99%E0%B9%89%E0%B8%B2%E0%B8%97%E0%B8%B5%E0%B9%88%E0%B8%81%E0%B8%B2%E0%B8%A3%E0%B8%87%E0%B8%B2%E0%B8%99%20%E0%B8%A1%E0%B8%B5%E0%B8%AA%E0%B8%B8%E0%B8%82%E0%B8%A0%E0%B8%B2%E0%B8%9E%E0%B8%A3%E0%B9%88%E0%B8%B2%E0%B8%87%E0%B8%81%E0%B8%B2%E0%B8%A2%E0%B9%81%E0%B8%82%E0%B9%87%E0%B8%87%E0%B9%81%E0%B8%A3%E0%B8%87%20%20%E0%B8%84%E0%B8%B4%E0%B8%94%E0%B8%AD%E0%B8%B0%E0%B9%84%E0%B8%A3%E0%B8%81%E0%B9%87%E0%B8%82%E0%B8%AD%E0%B9%83%E0%B8%AB%E0%B9%89%E0%B8%AA%E0%B8%A1%E0%B8%84%E0%B8%A7%E0%B8%B2%E0%B8%A1%E0%B8%9B%E0%B8%A3%E0%B8%B2%E0%B8%A3%E0%B8%96%E0%B8%99%E0%B8%B2%E0%B8%99%E0%B9%88%E0%B8%B0%E0%B8%84%E0%B8%A3%E0%B8%B1%E0%B8%9A';

 }
// $message = $_REQUEST['message'];
$chOne = curl_init();
curl_setopt( $chOne, CURLOPT_URL, "https://notify-api.line.me/api/notify");
// SSL USE
curl_setopt( $chOne, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt( $chOne, CURLOPT_SSL_VERIFYPEER, 0);
//POST
curl_setopt( $chOne, CURLOPT_POST, 1);
// Message
curl_setopt( $chOne, CURLOPT_POSTFIELDS, $message);
//ถ้าต้องการใส่รุป ให้ใส่ 2 parameter imageThumbnail และimageFullsize
curl_setopt( $chOne, CURLOPT_POSTFIELDS, "message=$message&imageThumbnail=https://image.makewebeasy.com/makeweb/0/n1wnGFxuP/migrate/maxresdefault.jpg&imageFullsize=https://image.makewebeasy.com/makeweb/0/n1wnGFxuP/migrate/maxresdefault.jpg");
// follow redirects
curl_setopt( $chOne, CURLOPT_FOLLOWLOCATION, 1);
//ADD header array
$headers = array( 'Content-type: application/x-www-form-urlencoded', 'Authorization: Bearer token', );
curl_setopt($chOne, CURLOPT_HTTPHEADER, $headers);
//RETURN
curl_setopt( $chOne, CURLOPT_RETURNTRANSFER, 1);
$result = curl_exec( $chOne );
//Check error
if(curl_error($chOne)) { echo 'error:' . curl_error($chOne); }
else { $result_ = json_decode($result, true);
echo "status : ".$result_['status']; echo "message : ". $result_['message']; }
//Close connect
curl_close( $chOne );




}else{
 //$results = '{"results":null}';
}


?>

***** ใส่ token ของเรา

/////


ตัวอย่างที่ 2   การทำ  bot แจ้งเตือนวันพระ



2.1  sql
/////////////////
/*
SQLyog Enterprise - MySQL GUI v8.14
MySQL - 5.0.27-community-nt : Database - mycontacts
*********************************************************************
*/


/*!40101 SET NAMES utf8 */;

/*!40101 SET SQL_MODE=''*/;

/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
CREATE DATABASE /*!32312 IF NOT EXISTS*/`mycontacts` /*!40100 DEFAULT CHARACTER SET utf8 */;

USE `birth`;

/*Table structure for table `mong_day` */

DROP TABLE IF EXISTS `mong_day`;

CREATE TABLE `mong_day` (
  `id` int(3) NOT NULL auto_increment,
  `name` varchar(300) character set utf8 NOT NULL,
  `date_mong` date default NULL,
  PRIMARY KEY  (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=tis620 CHECKSUM=1 DELAY_KEY_WRITE=1 ROW_FORMAT=DYNAMIC;

/*Data for the table `mong_day` */

insert  into `mong_day`(`id`,`name`,`date_mong`) values (1,'วันนี้วันพระ ขึ้น ๘ ค่ำ เดือน ๔ ปีระกา','2561-06-13'),(2,'วันนี้วันพระ ตรงกับวันมาฆบูชา ขึ้น ๑๕ ค่ำ เดือน ๔ ปีระกา','2561-03-01'),(3,'วันนี้วันพระ แรม ๘ ค่ำ เดือน ๔ ปีระกา','2561-03-09'),(4,'วันนี้วันพระ แรม ๑๕ ค่ำ เดือน ๔ ปีระกา','2561-03-16'),(5,'วันนี้วันพระ ขึ้น ๘ ค่ำ เดือน ๕ ปีจอ','2561-03-24'),(6,'วันนี้วันพระ ขึ้น ๑๕ ค่ำ เดือน ๕ ปีจอ','2561-03-31'),(7,'วันนี้วันพระ แรม ๘ ค่ำ เดือน ๕ ปีจอ','2561-04-08'),(8,'วันนี้วันพระ แรม ๑๔ ค่ำ เดือน ๕ ปีจอ','2561-04-14'),(9,'วันนี้วันพระ ขึ้น ๘ ค่ำ เดือน ๖ ปีจอ','2561-04-22'),(10,'วันนี้วันพระ ขึ้น ๑๕ ค่ำ เดือน ๖ ปีจอ','2561-04-29'),(11,'วันนี้วันพระ แรม ๘ ค่ำ เดือน ๖ ปีจอ','2561-05-07'),(12,'วันนี้วันพระ แรม ๑๕ ค่ำ เดือน ๖ ปีจอ','2561-05-14'),(13,'วันนี้วันพระ ขึ้น ๘ ค่ำ เดือน ๖ ปีจอ','2561-05-22'),(14,'วันนี้วันพระ ตรงกับวันวิสาขบูชา ขึ้น ๑๕ ค่ำ เดือน ๖ ปีจอ','2561-05-29'),(15,'วันนี้วันพระ แรม ๘ ค่ำ เดือน ๗ ปีจอ','2561-06-06'),(16,'วันนี้วันพระ แรม ๑๕ ค่ำ เดือน ๗ ปีจอ','2561-06-12'),(17,'วันนี้วันพระ ขึ้น ๘ ค่ำ เดือน ๗ ปีจอ','2561-06-20'),(18,'วันนี้วันพระ ขึ้น ๑๕ ค่ำ เดือน ๗ ปีจอ','2561-06-27'),(19,'วันนี้วันพระ แรม ๘ ค่ำ เดือน ๘ ปีจอ','2561-07-25'),(20,'วันนี้วันพระ แรม ๑๕ ค่ำ เดือน ๘ ปีจอ','2561-07-12'),(21,'วันนี้วันพระ ขึ้น ๘ ค่ำ เดือน ๘(หลัง) ปีจอ','2561-07-20'),(22,'วันนี้วันพระ ตรงกับวันอาสาฬบูชา ขึ้น ๑๕ ค่ำ เดือน ๘(หลัง) ปีจอ','2561-07-27'),(23,'วันนี้วันพระ ตรงกับวันเข้าพรรษา แรม ๑ ค่ำ เดือน ๘(หลัง) ปีจอ','2561-07-28'),(24,'วันนี้วันพระ แรม ๘ ค่ำ เดือน ๘ ปีจอ','2561-08-04'),(25,'วันนี้วันพระ แรม ๑๕ ค่ำ เดือน ๘ ปีจอ','2561-08-11'),(26,'วันนี้วันพระ ขึ้น ๘ ค่ำ เดือน ๙ ปีจอ','2561-08-19'),(27,'วันนี้วันพระ ขึ้น ๑๕ ค่ำ เดือน ๙ ปีจอ','2561-08-26'),(28,'วันนี้วันพระ แรม ๘ ค่ำ เดือน ๙ ปีจอ','2561-09-03'),(29,'วันนี้วันพระ แรม ๑๕ ค่ำ เดือน ๙ ปีจอ','2561-09-09'),(30,'วันนี้วันพระ ขึ้น ๘ ค่ำ เดือน ๑๐ ปีจอ','2561-09-17'),(31,'วันนี้วันพระ ขึ้น ๑๕ ค่ำ เดือน ๑๑ ปีจอ','2561-09-24');

/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;


/////////////

2.bot_mong_day.php

///////////////
<?php

//header('Content-type: application/json; charset=utf-8');
header('Access-Control-Allow-Origin: *');
header('Access-Control-Allow-Methods: GET, POST');


include('con_db.php');

//$sql = "select * from contacts";
$sql = "SELECT  *   FROM mong_day  WHERE  MONTH(STR_TO_DATE(date_mong,'%Y-%m-%d'))= MONTH(NOW()) AND   DAY(STR_TO_DATE(date_mong,'%Y-%m-%d'))= DAY(NOW())   ";



$resource = mysql_query($sql);

$count_row = mysql_num_rows($resource);

if($count_row > 0) {
while($result =mysql_fetch_array($resource)){
$name = $result['name'];
//$birthday =$result['birthday'];
//$age = $result['age'];
//$happy = $result['happy'];
$message = "  ".' '.$name.' '.'  ';

 //echo '<iframe src="line_it_mong.php?message='.$message.'  "></iframe>';

$chOne = curl_init();
curl_setopt( $chOne, CURLOPT_URL, "https://notify-api.line.me/api/notify");
// SSL USE
curl_setopt( $chOne, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt( $chOne, CURLOPT_SSL_VERIFYPEER, 0);
//POST
curl_setopt( $chOne, CURLOPT_POST, 1);
// Message
curl_setopt( $chOne, CURLOPT_POSTFIELDS, $message);
//ถ้าต้องการใส่รุป ให้ใส่ 2 parameter imageThumbnail และimageFullsize
curl_setopt( $chOne, CURLOPT_POSTFIELDS, "message=$message&imageThumbnail=https://i.pinimg.com/originals/33/7a/6e/337a6ee29c0d330ca69060952843d345.jpg&imageFullsize=https://i.pinimg.com/originals/33/7a/6e/337a6ee29c0d330ca69060952843d345.jpg");
// follow redirects
curl_setopt( $chOne, CURLOPT_FOLLOWLOCATION, 1);
//ADD header array
$headers = array( 'Content-type: application/x-www-form-urlencoded', 'Authorization: Bearer token', );
curl_setopt($chOne, CURLOPT_HTTPHEADER, $headers);
//RETURN
curl_setopt( $chOne, CURLOPT_RETURNTRANSFER, 1);
$result = curl_exec( $chOne );
//Check error
if(curl_error($chOne)) { echo 'error:' . curl_error($chOne); }
else { $result_ = json_decode($result, true);
echo "status : ".$result_['status']; echo "message : ". $result_['message']; }
//Close connect
curl_close( $chOne );


}




}else{
//$results = '{"results":null}';
}


?>

*** ใส่ token ของเรา แทน token



/////////////

การตั้งค่าให้ทำงานอัตโนมัติ ใช้ ngrok
1.https://cron-job.org/
2.task ของ windows
3.สั่งผ่าน line chatbot abdul


///// การทำ Rich menu ////////

1.เข้า ไปที่  https://developers.line.me/  -> greeting messages -> set message หรือ  https://admin-official.line.me/  เลือก rich contents




















https://drive.google.com/open?id=1sbCnipnerB1ATV1bLAIRt4jF9lPlkO2L

TXRQ1xQsNKslFxE9NvZHE9Zs8w3zuqyxtDmHOdAE0Hz


ความคิดเห็น

  1. ถ้ามีคนเกิดพร้อมกัน 2 คนทำไงครับ ผมเขียนแล้วมันแจ้งเตือนคนเดียว

    ตอบลบ

แสดงความคิดเห็น

โพสต์ยอดนิยมจากบล็อกนี้

แจ้งเตือนเข้าไลน์กลุ่ม ผ่าน Line notify เมื่อมีคน login เข้า server ของเราผ่าน SSH (linux) หรือ remote desktop เข้ามา (windows server)

การทำ cloud iot ด้วย thingsboard ไว้ใช้เองครับ

การประยุกต์ใช้ line notify ในการแจ้งปัญหาการใช้งาน สำหรับ php