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 คนทำไงครับ ผมเขียนแล้วมันแจ้งเตือนคนเดียว

    ตอบลบ

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

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

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

ดู tv streamming .m3u บน sumsung smart tv

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