Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- $db_host = 'localhost';
- $db_user = 'user-database';
- $db_pass = 'BukanPasswordSebenarnya';
- $db_name = 'data';
- $conn = mysqli_connect($db_host, $db_user, $db_pass, $db_name);
- if(!$conn) {
- die('Gagal terhubung MySQL: ' . mysqli_connect_error());
- }
- $sql = "SELECT name, lokasi, startdate, expireddate FROM pendataan WHERE expireddate <= DATE_ADD(CURDATE(), INTERVAL 30 DAY) ORDER BY id ASC";
- $query = mysqli_query($conn, $sql);
- if(!$query) {
- die('SQL Error: ' . mysqli_error($conn));
- }
- /* tidak perlu dalam loop krn hasilnya pasti sama
- $now = new DateTime();
- $now = $now->format('Y-m-d');
- $now = strtotime($now);
- 3baris tsb dan baris $today = date('Y-m-d',$now);
- cukup dgn 1baris ini
- */
- $today = date("Y-m-d");
- /* juga statement (60 * 60 * 24) gak usah berulang krn udah pasti */
- $seconds_in_day = (60 * 60 * 24);
- // krn FROM email pasti sama, gk usah masuk loop
- $headers = "From: emailsaya@domain.com" . "\r\n" .
- while ($row = mysqli_fetch_assoc($query)){
- $exp_date = strtotime($row['expireddate']);
- $notify_pertama = strtotime ('-30 days',$exp_date);
- $notify_kedua = strtotime ('-15 days',$exp_date);
- $notify_ketiga = strtotime ('-7 days',$exp_date);
- /* dipindah ke sebelum loop
- $now = new DateTime();
- $now = $now->format('Y-m-d');
- $now = strtotime($now);
- */
- $pertama = date('Y-m-d',$notify_pertama);
- $kedua = date('Y-m-d',$notify_kedua);
- $ketiga = date('Y-m-d',$notify_ketiga);
- $ipaddr = $row['ip'];
- $hostname = $row['hostname'];
- $pic = $row['pic'];
- $expired = $row['expireddate'];
- //$today = date('Y-m-d',$now);
- /*juga statement $fromDate* = $expired;
- krn isinya sama, gk perlu berulang, cukup 1x aja */
- $fromDate = $expired;
- $daysLeft1 = 0;
- //$fromDate1 = $expired;
- $curDate1 = $pertama;
- $daysLeft1 = abs(strtotime($curDate1) - strtotime($fromDate));
- $days1 = $daysLeft1/$seconds_in_day;
- $daysLeft2 = 0;
- //$fromDate2 = $expired;
- $curDate2 = $kedua;
- $daysLeft2 = abs(strtotime($curDate2) - strtotime($fromDate));
- $days2 = $daysLeft2/$seconds_in_day;
- $daysLeft = 0;
- //$fromDate = $expired;
- $curDate = $ketiga;
- $daysLeft = abs(strtotime($curDate) - strtotime($fromDate));
- $days3 = $daysLeft/$seconds_in_day;
- if ( $exp_date > $notify_pertama && $exp_date > $notify_ketiga ) {
- if ($pertama == $today) {
- $to = "emailsaya@domain.com";
- $subject = "Pemberitahuan Pertama, Unit Dengan nama:$name Akan Segera Expired Pada Tgl $expired";
- $message = "Mohon Perhatiannya, Unit Dengan Nama:$name Akan Segera Expired $days1 hari lagi pada Tgl $expired Mohon segera followup perbaikan";
- //$headers = "From: emailsaya@domain.com" . "\r\n" .
- mail($to, $subject, $message, $headers);
- }
- if ($kedua == $today) {
- $to = "emailsaya@domain.com";
- $subject = "Pemberitahuan Kedua, Unit Dengan nama:$name Akan Segera Expired Pada Tgl $expired";
- $message = "Mohon Perhatiannya, Unit Dengan Nama:$name Akan Segera Expired $days2 hari lagi pada Tgl $expired Mohon segera followup perbaikan";
- //$headers = "From: emailsaya@domain.com" . "\r\n" .
- mail($to, $subject, $message, $headers);
- }
- if ($ketiga == $today) {
- $to = "emailsaya@domain.com";
- $subject = "Pemberitahuan Ketiga, Unit Dengan nama:$name Akan Segera Expired Pada Tgl $expired";
- $message = "Mohon Perhatiannya, Unit Dengan Nama:$name Akan Segera Expired $days3 hari lagi pada Tgl $expired Mohon segera followup perbaikan";
- //$headers = "From: emailsaya@domain.com" . "\r\n" .
- mail($to, $subject, $message, $headers);
- }
- } else {
- echo 'false';
- }
- }
- mysqli_free_result($query);
- mysqli_close($conn);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement