首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JSON数据数组查询

问JSON数据数组查询
EN

Stack Overflow用户
提问于 2013-11-30 07:45:46
回答 1查看 156关注 0票数 0

我使用jsonTable将数据解析到Google表中,它工作得很好。现在,我遇到了一个问题,即同时添加多个查询,并且只在已经定义的数组的两列中显示数据。下面是我的代码:

代码语言:javascript
复制
$data = mysql_query("SELECT reg.`oilchange`-SUM(gs.`Distance`) AS Nextoilchange FROM gs INNER JOIN reg ON (gs.`DeviceId`=25) AND (reg.`DeviceId`=25) INNER JOIN LOG ON TIME BETWEEN DATE(log.`lastoilchange`) AND CURDATE()")
or die(mysql_error()); 

$table = array();
$table['cols'] = array(
 array('label' => 'Vehicle', 'type' => 'number'),
array('label' => 'Distance Left', 'type' => 'number')

);
$rows = array();
while ($nt = mysql_fetch_array($data))

{

$temp = array();

$temp[] = array('v' => 'Nextoilchange');
$temp[] = array('v' =>$nt['Nextoilchange']);

// insert the temp array into $rows
$rows[]['c'] = $temp;

}
$table['rows'] = $rows;
$jsonTable = json_encode($table); 

我的第一个问题是,我想在$data中添加多个查询,每个查询都会给出一个结果。我的下一个问题是,我想在上面的列中显示多个查询的数据,定义为左距离。在vehicle列中,我想在$temp(第一行)中添加类似上面的静态数据。我已经搜索了很多,我不知道该怎么做。请帮帮我,我想这样显示表格:

代码语言:javascript
复制
Vehicle            Distance Left

nextoilchange      500
nextfilter         300
nextcheckup        400
EN

回答 1

Stack Overflow用户

发布于 2013-11-30 13:11:18

我没有测试过这个。如果不能工作,试着这样做。

代码语言:javascript
复制
<?php 

$data[1] = mysql_query("SELECT reg.`oilchange`-SUM(gs.`Distance`) AS Nextoilchange FROM gs INNER JOIN reg ON (gs.`DeviceId`=25) AND (reg.`DeviceId`=25) INNER JOIN LOG ON TIME BETWEEN DATE(log.`lastoilchange`) AND CURDATE()")
or die(mysql_error());
$data[2] = mysql_query("SELECT reg.`oilchange`-SUM(gs.`Distance`) AS Nextoilchange FROM gs INNER JOIN reg ON (gs.`DeviceId`=25) AND (reg.`DeviceId`=25) INNER JOIN LOG ON TIME BETWEEN DATE(log.`lastoilchange`) AND CURDATE()")
or die(mysql_error());

$table[1]['cols'] = array(array('label' => 'Vehicle', 'type' => 'number'),array('label' => 'Distance Left', 'type' => 'number'));
$table[2]['cols'] =  array(array('label' => 'Vehicle', 'type' => 'number'),array('label' => 'Distance Left', 'type' => 'number'));

foreach($table as $key=>$eachtable)
{
    $cols = $eachtable['cols'];

    while ($nt = mysql_fetch_array($newdata))
    {

        foreach($cols as  $key1=>$each_col)
        {
            if($each_col['label'] == $nt)  //you have match the conditions
            {
                $row[$key1] = $nt['yourvalue'];
            }
            else
            {
                $row[$key1] = $nt['yourvalue1'];
            }
            $rows[] = $row;
        }
    }
    $table[$key]['rows'] = $rows;
}
$jsonTable = json_encode($table); 
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20294817

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档