Skripti za izvoz vseh uporabnikov 1ke in vseh anket 1ke (s statistiko stevila anket in responsov)

This commit is contained in:
pero1203 2021-09-08 09:45:33 +02:00
parent bf147c8824
commit 48c1d3d665
3 changed files with 212 additions and 66 deletions

View File

@ -0,0 +1,99 @@
<?php
/**
*
* CSV izvoz vseh anket 1ke, stevila responsov po letih
*
*/
include_once('../../function.php');
$current_year = date("Y");
$prev_year = (int)$current_year - 1;
$data = array();
$data[] = array(
'ID',
'Naslov',
'Aktivna',
'Avtor ID',
iconv("UTF-8","Windows-1250//TRANSLIT", 'Št. odgovorov'),
iconv("UTF-8","Windows-1250//TRANSLIT", 'Št. odgovorov '.$current_year),
iconv("UTF-8","Windows-1250//TRANSLIT", 'Št. odgovorov '.$prev_year)
);
// Vse ankete 1ke
$sql = sisplet_query("SELECT id, naslov, active, insert_uid FROM srv_anketa WHERE id>'0'");
if (!$sql) {
echo mysqli_error($GLOBALS['connect_db']);
die();
}
// Loop cez ankete
while ($row = mysqli_fetch_array($sql)) {
// Stevilo odgovorov ankete
$response_count = 0;
$response_count_current_year = 0;
$response_count_prev_year = 0;
// Prestejemo stevilo anket
$sqlR = sisplet_query("SELECT count(id) AS response_count, YEAR(time_insert) AS year
FROM srv_user
WHERE ank_id='".$row['id']."' AND preview='0' AND deleted='0'
GROUP BY YEAR(time_insert)
");
if (!$sqlR) {
echo mysqli_error($GLOBALS['connect_db']);
die();
}
// Loop cez prestete ankete po letih
while ($rowR = mysqli_fetch_array($sqlR)) {
$response_count += (int)$rowR['response_count'];
if($rowR['year'] == $current_year)
$response_count_current_year = (int)$rowR['response_count'];
if($rowR['year'] == $prev_year)
$response_count_prev_year = (int)$rowR['response_count'];
}
ob_start();
$line = array();
$line[0] = $row['id'];
$line[1] = iconv("UTF-8","Windows-1250//TRANSLIT", $row['naslov']);
$line[2] = $row['active'];
$line[3] = $row['insert_uid'];
$line[4] = $response_count;
$line[5] = $response_count_current_year;
$line[6] = $response_count_prev_year;
$data[] = $line;
/*echo implode($line, ';');
echo '<br />';*/
ob_end_flush();
}
header('Content-Type: application/excel;');
header('Content-Disposition: attachment; filename="survey_statistics.csv"');
$fp = fopen('php://output', 'w');
foreach($data as $line) {
//fputcsv($fp, $line, ',');
fputcsv($fp, $line, ';');
}
fclose($fp);

View File

@ -0,0 +1,113 @@
<?php
/**
*
* CSV izvoz vseh uporabnikov 1ke, stevila anket po letih
*
*/
include_once('../../function.php');
$current_year = date("Y");
$prev_year = (int)$current_year - 1;
$data = array();
$data[] = array(
'ID',
'Email',
'Ime',
'Priimek',
'Tip',
'Status',
'Potrjen',
'GDPR',
iconv("UTF-8","Windows-1250//TRANSLIT", 'Št. anket'),
iconv("UTF-8","Windows-1250//TRANSLIT", 'Št. anket '.$current_year),
iconv("UTF-8","Windows-1250//TRANSLIT", 'Št. anket '.$prev_year)
);
// Vsi userji 1ke
$sql = sisplet_query("SELECT id, email, name, surname, type, status, approved, gdpr_agree FROM users");
if (!$sql) {
echo mysqli_error($GLOBALS['connect_db']);
die();
}
// Loop cez userje
while ($row = mysqli_fetch_array($sql)) {
// Stevilo anket uporabnika
$survey_count = 0;
$survey_count_current_year = 0;
$survey_count_prev_year = 0;
// Prestejemo stevilo anket
$sqlA = sisplet_query("SELECT count(id) AS survey_count, YEAR(insert_time) AS year
FROM srv_anketa
WHERE insert_uid='".$row['id']."'
GROUP BY YEAR(insert_time)
");
if (!$sqlA) {
echo mysqli_error($GLOBALS['connect_db']);
die();
}
// Loop cez prestete ankete po letih
while ($rowA = mysqli_fetch_array($sqlA)) {
$survey_count += (int)$rowA['survey_count'];
if($rowA['year'] == $current_year)
$survey_count_current_year = (int)$rowA['survey_count'];
if($rowA['year'] == $prev_year)
$survey_count_prev_year = (int)$rowA['survey_count'];
}
ob_start();
$line = array();
$line[0] = $row['id'];
$line[1] = $row['email'];
$line[2] = iconv("UTF-8","Windows-1250//TRANSLIT", $row['name']);
$line[3] = iconv("UTF-8","Windows-1250//TRANSLIT", $row['surname']);
if($row['type'] == '0')
$line[4] = 'Administrator';
elseif($row['type'] == '1')
$line[4] = 'Manager';
else
$line[4] = 'Uporabnik';
$line[5] = $row['status'];
$line[6] = $row['approved'];
$line[7] = $row['gdpr_agree'];
$line[8] = $survey_count;
$line[9] = $survey_count_current_year;
$line[10] = $survey_count_prev_year;
$data[] = $line;
/*echo implode($line, ';');
echo '<br />';*/
ob_end_flush();
}
header('Content-Type: application/excel');
header('Content-Disposition: attachment; filename="user_statistics.csv"');
$fp = fopen('php://output', 'w');
foreach($data as $line) {
//fputcsv($fp, $line, ',');
fputcsv($fp, $line, ';');
}
fclose($fp);

View File

@ -1,66 +0,0 @@
<?php
/**
*
* CSV izvoz vseh uporabnikov 1ke, stevila anket po letih, stevila responsov po letih
*
*/
include_once('../../function.php');
$year = '2021';
// Vsi userji 1ke
$sql = sisplet_query("SELECT count(id) AS user_count
FROM users
WHERE YEAR(when_reg)='".$year."'
");
if (!$sql) {echo mysqli_error($GLOBALS['connect_db']); die();}
$data = array();
$data[] = array('Tip naprave', 'Čas vnosa', 'Status', 'Lurker');
while ($row = mysqli_fetch_array($sql)) {
ob_start();
$line = array();
/*$browser_detect = get_browser($row['useragent'], true);
$line[0] = $browser_detect['device_type'];
$line[1] = $row['time_insert'];
$line[2] = $row['last_status'];
$line[3] = $row['lurker'];*/
$data[] = $line;
echo implode($line, ';');
echo '<br />';
ob_end_flush();
}
/*header('Content-Type: application/excel');
header('Content-Disposition: attachment; filename="paradata_device_'.$year.'.csv"');
$fp = fopen('php://output', 'w');
foreach($data as $line) {
//fputcsv($fp, $line, ',');
fputcsv($fp, $line, ';');
}
fclose($fp);*/
/*foreach($data as $line) {
echo implode($line, ';');
echo '<br />';
}*/