Beginnings of ETA calc based on actual data
[busui.git] / labs / busdelay.csv.php
blob:a/labs/busdelay.csv.php -> blob:b/labs/busdelay.csv.php
<?php <?php
   
setlocale(LC_CTYPE, 'C'); setlocale(LC_CTYPE, 'C');
// source: http://stackoverflow.com/questions/81934/easy-way-to-export-a-sql-table-without-access-to-the-server-or-phpmyadmin#81951 // source: http://stackoverflow.com/questions/81934/easy-way-to-export-a-sql-table-without-access-to-the-server-or-phpmyadmin#81951
include ('../include/common.inc.php'); include ('../include/common.inc.php');
$query = $conn->prepare(' $query = $conn->prepare('
SELECT * from myway_timingdeltas' SELECT * from myway_timingdeltas'
, array(PDO::ATTR_CURSOR => PDO::FETCH_ORI_NEXT)); , array(PDO::ATTR_CURSOR => PDO::FETCH_ORI_NEXT));
$query->execute(); $query->execute();
$errors = $conn->errorInfo(); $errors = $conn->errorInfo();
if ($errors[2] != "") { if ($errors[2] != "") {
die("Export terminated, db error" . print_r($errors, true)); die("Export terminated, db error" . print_r($errors, true));
} }
   
$headers = Array("date", "delay", "distance", "origin", "destination"); $headers = Array("date", "delay", "distance", "origin", "destination");
   
$fp = fopen('php://output', 'w'); $fp = fopen('php://output', 'w');
if ($fp && $query) { if ($fp && $query) {
//header('Content-Type: text/csv'); //header('Content-Type: text/csv');
header('Pragma: no-cache'); header('Pragma: no-cache');
header('Expires: 0'); header('Expires: 0');
fputcsv($fp, $headers); fputcsv($fp, $headers);
while ($r = $query->fetch(PDO::FETCH_ASSOC, PDO::FETCH_ORI_NEXT)) { while ($r = $query->fetch(PDO::FETCH_ASSOC, PDO::FETCH_ORI_NEXT)) {
$row = Array(); $row = Array();
foreach ($headers as $i => $fieldName) { foreach ($headers as $i => $fieldName) {
switch ($fieldName) { switch ($fieldName) {
case "date": case "date":
$row[] = date("dm",strtotime($r['date'])).date("Hi",strtotime($r['time'])); $row[] = date("r",strtotime($r['date']." ".$r['time']));
break; break;
case "delay": case "delay":
$row[] = $r['timing_delta']; $row[] = $r['timing_delta'];
break; break;
case "distance": case "distance":
$row[] = $r['stop_sequence']; $row[] = $r['stop_sequence'];
break; break;
case "origin": case "origin":
$row[] = $r['myway_stop']; $row[] = $r['myway_stop'];
break; break;
case "destination": case "destination":
$row[] = $r['route_name']; $row[] = $r['route_name'];
break; break;
default: default:
break; break;
} }
} }
fputcsv($fp, array_values($row)); fputcsv($fp, array_values($row));
} }
die; die;
} }
?> ?>