【发布时间】:2014-11-05 17:57:34
【问题描述】:
我需要在我的 mysql 数据库活动中传递 09.03.2014 和 12.03.2014:
SELECT * FROM activity;
ID timestamp_day name details
1 1394319600 Meeting Meeting with Ann about job
2 1394406000 Travel Go to New York
3 1394492400 Work Do some work...
4 1394578800 Vacation Prepare all necessary stuff
5 1394319600 Car repair Go to store to buy new parts for car
我需要得到一个 JSON 数据来创建 datatable.net 表,如下所示:
Datum | Name
----------+-----
Sunday |
09/03 |
----------+-----
Monday |
10/03 |
----------+-----
Tuesday |
11/03 |
----------+-----
Wednesday |
12/03 |
----------+-----
我想做什么:
PHP:
$dateString = '09.03.2014';
$startDate = new DateTime($dateString);
$period = new DateInterval('P1M');
$endDate = clone $startDate;
$endDate->add($period);
$interval = new DateInterval('P1D');
$daterange = new DatePeriod($startDate, $interval ,$endDate);
$i=1;
foreach($daterange as $date){
$temp = array();
// the following line will be used to slice the Pie chart
$temp['ID'] = $i;
$dejt = $date->format("l") . PHP_EOL;
$temp['datum'] = '<strong>'.$dejt.'</strong></br>'.$date->format("d/m") . PHP_EOL;
$rs1 = $db->prepare('SELECT name FROM activity WHERE timestamp=:ts');
$rs1->bindParam(':ts', $timestamp);
$rs1->execute();
$naz = $rs1->fetchColumn();
if ($naz != false) {
$temp['name'] = $naz;
} else {
$temp['vrsta'] = '';
}
$output['data'][] = $temp;
$i++;
$jsonTable = json_encode($output);
}
} catch(PDOException $e) {
echo 'ERROR: ' . $e->getMessage();
}
echo $jsonTable;
和 JQuery:
$('#example').dataTable( {
"ajax": "table1.php",
"columns": [
{ "data": "ID" },
{ "data": "datum" },
{ "data": "name" },
], etc.
我的代码工作正常,但我多次使用查询访问数据库,什么时候有相同的 timestamp_day 值,然后我才得到第一个......
所以你看到我在每个日期都用查询访问了 mysql 数据库。我想创造其他方式来做到这一点?这将如何与 JOIN mysql 函数等...?同样在这里您可以看到我的 ID 1 和 ID 5 具有相同的时间戳,因此我需要将这些行的名称放在一个单元格中并为此数据创建单独的 HTML。
【问题讨论】: