スクリプト自体は次のとおりです。
<?php /* */ $hostname = "localhost"; $username = "dbuser"; $password = "dbpass"; $dbName = "dbname"; /* MySQL, */ $cdrtable = "cdr"; /* */ $time = mktime(date('H'), date('i'), date('s'), date('m'), date('d')-1, date('Y')); $ydate = date("dmY", $time); /* */ mysql_connect($hostname,$username,$password) OR DIE(" "); /* . - */ mysql_select_db($dbName) or die(mysql_error()); /* . , LENGTH( `src` ) >3, */ $query = "SELECT `dst` , `src` , `duration` , `dstchannel` , `calldate` FROM `cdr` WHERE DATE_SUB( CURDATE( ) , INTERVAL 1 DAY ) <= `calldate` AND CURDATE( ) > `calldate` AND `disposition` = 'NO ANSWER' AND LENGTH( `src` ) >3"; /* . - . */ $res=mysql_query($query) or die(mysql_error()); /* */ $number = mysql_num_rows($res); /* */ $mes=" $ydate.\r\n\r\n"; /* */ if ($number == 0) { $mes .= " "; } else { /* $row, */ while ($row=mysql_fetch_array($res)) { $mes .= " ".$row['calldate'].". ".$row['src']; $mes .= " ".mb_substr($row['dstchannel'],4,3); $mes .= ". ".$row['duration']." .\r\n"; } } /* */ mail('admin@mail.domain', $ydate.' report', $mes); ?>
私は十分に詳細にコメントしようとしましたが、それがうまくいかない場合は尋ねてください。
手紙の例:
2012年10月29日の不在着信に関するレポート。
2012-10-29 11:46:38。 4959819231サブスクライバー109から。45秒待機。
2012-10-29 13:18:45。 4956103380サブスクライバー104から。47秒待機。
2012-10-29 14:33:13。 4959819331サブスクライバー104から。53秒待機。
2012-10-29 16:58:40。 9030293453からサブスクライバー101。12秒待機。