The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"Вывод данных из БД за последние н дней"
Отправлено HattabbI4, 27-Мрт-17 07:22 
База MySQL.

Таблица выглядит вот так: https://drive.google.com/file/d/0Byy2RDccuWnTdmQ5TXlSVm1iNkV...

сделать нужно что-то типа этого: https://docs.google.com/spreadsheets/d/1Dtby-VeUnt8Wg_WEYqeD...

на данный момент есть вот что:

#!/usr/bin/perl

use Date::Calc;
use CGI::Carp qw(fatalsToBrowser);
($mday,$mon,$year,) = localtime(time);
$year=$year+1900;
$mon=$mon+1;
if ($mon<10) { $mon="0".$mon; }
if ($mday<10) { $mday="0".$mday; }
$hour=$hour-1;
if ($hour<10) { $hour="0".$hour; }

print "Content-type: text/html; charset=utf-8\n\n";
print "
<html>
<head>
<title>Отчет Call-Centr</title>
<style>
label {
display:block;
}
</style>
</head>
<body>";

print "$mday.$mon.$year
";
print scalar localtime();
# Соединяемся с базой.
use DBI;
my $dsn='DBI:mysql:testasterisk:localhost';
my $db_user_name='testasterisk';
my $db_password='testpass';
my $dbh=DBI->connect($dsn,$db_user_name,$db_password) || die ("Ошибка: $DBI::errstr");
$dbh->do("SET NAMES utf8");
#делаем выборку по обработанным звонкам дня 1

my $day1 = $mday-30; #пытался сделать по дням
print $day5;
my $sth = $dbh->prepare("
        SELECT  wait_time FROM  stat WHERE Status='ANSWERED'");

$sth->execute();
$sth->finish();
#делаем выборку по пропущенным звонкам
my $swt = $dbh->prepare("
        SELECT AVG(wait_time) FROM stat WHERE Status='NO ANSWER'");

$swt->execute();
#находим общее количество не отвеченных звонков
my $swtrows = $dbh->prepare("
        SELECT wait_time FROM stat WHERE Status='NO ANSWER'");

$swtrows->execute();
#находим максимальное время ожидания при не отвеченном звонке
my $swtm = $dbh->prepare("
        SELECT MAX(wait_time) FROM stat WHERE Status='NO ANSWER'");

$swtm->execute();
my $sup = $swtrows->rows; my $sup1 = $sth->rows; #сервисные переменные для подсчета звонков
my $row = $swt->fetchrow_array();
$sth->finish();
my $row1 = $swtm->fetchrow_array();
$swtm->finish();
$swt->finish();
$swtrows->finish();
$row = sprintf("%.0f",$row); #округляем
my $sup2=$sup+$sup1; #общее кол-во звонков
print "<table border=1 align=center>";
print "<tr><td>Число</td><td>1</td><td>2</td><td>3</td><td>4</td><td>5</td><td>6</td><td>7</td><td>8</td><td>9</td><td>10</td>
<td>11</td><td>12</td><td>13</td><td>14</td><td>15</td><td>16</td><td>17</td><td>18</td><td>19</td><td>20</td>
<td>21</td><td>22</td><td>23</td><td>24</td><td>25</td><td>26</td><td>27</td><td>28</td><td>29</td><td>30</td><td>31</td></tr>"; #возможно не правильно в дальнейшем можно поменять
print "<tr><td>Общее количество обработанных звонков:</td><td>$sup2</td></tr>";
print "<tr><td>Среднее время ожидания ответа:</td><td>$row</td></tr>";
print "<tr><td>Максимальное время ожидания ответа:</td><td>$row1</td></tr>";
print "<tr><td>Общее количество не отвеченных звонков:</td><td>$sup</td></tr>";
print "<tr><td>Общее количество обработанных звонков:</td><td>$sup1</td></tr>";

print "</table>";

print "
</body>
</html>";


$dbh->disconnect();

 

Ваше сообщение
Имя*:
EMail:
Для отправки новых сообщений в текущей нити на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
  Введите код, изображенный на картинке: КОД
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру