示例#1
0
<?php

include_once "/home/mari12/public_html/include/common.php";
//if (!isset($_SESSION["admin"])) exit();
global $db;
$db2 = new DB($config['dbserver'], $config['dbname'], $config['dbuser'], $config['dbpassword']);
function saveAveragePrices($start_date, $end_date)
{
    global $db;
    global $db2;
    $prev_end_date = getNextDate($end_date, -1);
    $sql = "SELECT rooms, ROUND(AVG(price)) price_avr, ROUND(AVG(total_area),1) area_avr, \n\t\tROUND(AVG(price_m),1) price_m_avr \n\t\tFROM flat f, tenement t WHERE f.updated_on>='{$start_date}' \n\t\t\tAND f.updated_on<'{$end_date}' AND total_area > 29 AND total_area < 400\n\t\t\tAND f.price>1000000 AND f.price < 6000000 AND f.tenement_id=t.id\n\t\t\tAND f.status IN (2,6)\n\t\t\tAND t.city_id=0 \n\t\tGROUP BY rooms";
    $db->query($sql);
    while ($row = $db->fetchRow()) {
        $sql2 = "INSERT INTO average_flat_price VALUES \n\t\t('{$prev_end_date}','{$row['rooms']}','{$row['price_avr']}','{$row['area_avr']}','{$row['price_m_avr']}')";
        $db2->query($sql2);
    }
}
$start_date = '2014-03-17';
//Пн
$db->query("DELETE FROM average_flat_price WHERE date>='{$start_date}'");
while ($start_date < date('Y-m-d')) {
    $end_date = getNextDate($start_date, 7);
    saveAveragePrices($start_date, $end_date);
    $start_date = $end_date;
}
$end_date = date('Y-m-d');
//$end_date = '2015-09-14';
$start_date = getNextDate($end_date, -7);
//saveAveragePrices($start_date,$end_date);
$end_date = '2011-10-30';
//Вс
$start_date = getNextDate($end_date, -6);
//Пн
//$prev_end_date = getNextDate($end_date,-1);
$i = 0;
while ($end_date < date("Y-m-d") && $i < 1000) {
    saveAveragePrices($start_date, $end_date);
    $start_date = getNextDate($start_date, 7);
    //Пн
    $end_date = getNextDate($start_date, 6);
    //Вс
    $i++;
}
if (dateDiff('now', $start_date) > 0) {
    saveAveragePrices(getNextDate($start_date, 1), date("Y-m-d"));
}
//ob_start();
header("Content-type: application/csv");
header("Content-Disposition: attachment; filename=download.csv");
header("Pragma: no-cache");
header("Expires: 0");
echo $query = "SELECT * FROM _tmp_prices2";
$export = $db->query($query) or die("Sql error : " . mysql_error());
$fields = mysql_num_fields($export);
$fp = fopen('php://output', 'w');
$header = [];
for ($i = 0; $i < $fields; $i++) {
    $header[] = mysql_field_name($export, $i);
}
fputcsv($fp, $header);