php - 通过 PHP 从 SQL 表到 JSON

标签 php mysql json

几天以来我一直在努力解决这个问题,但我找不到正确的解决方案。

我想通过 PHP 从此数据库表中检索数据:

databse table

并且,再次使用 php,有一个类似这样的 JSON 输出:

[{
"label": "2013-01-07",
"value": "4"
}, {
    "label": "2013-01-06",
    "value": "65"
}, {
    "label": "2013-01-05",
    "value": "96"
}]

我编写了一个从表中检索信息的函数,但我无法将它们按正确的顺序排列,而且可能有更好的方法来做到这一点..

function getUsersCountOnDate()
{
    $result = mysql_query("Select FROM_UNIXTIME(regtime, '%Y-%m-%d') as date, count(FROM_UNIXTIME(regtime, '%Y-%m-%d')) as count from users group by FROM_UNIXTIME(regtime, '%Y-%m-%d') order by FROM_UNIXTIME(regtime, '%Y-%m-%d') DESC");
    while($row = mysql_fetch_array($result)){
    $date[] = $row['date'];
    }

    $result = mysql_query("Select FROM_UNIXTIME(regtime, '%Y-%m-%d') as date, count(FROM_UNIXTIME(regtime, '%Y-%m-%d')) as count from users group by FROM_UNIXTIME(regtime, '%Y-%m-%d') order by FROM_UNIXTIME(regtime, '%Y-%m-%d') DESC");
    while($row = mysql_fetch_array($result)){
    $count[] = $row['count'];
    }

    $merged = array_merge($date, $count);

    return json_encode($merged);
}

我检索到的是这样的: ["2016-03-18","2016-03-13","2016-03-11","2016-03-06","2016-03-04","6","1","1","1","1"]

谁能帮帮我?

最佳答案

首先使用PDO或者mysqli函数进行数据库查询。

array_merge() 会将第一个数组放在第二个数组之前。例如: $array1 = array('红色', '黄色'); $array2 = array('蓝色', '绿色'); $arrayMerged = array_merge($array1, $array2); $arrayMerged 现在是 array(red,yellow,blue,green);

由于您正在执行的查询是相同的,您可以这样做:

$result = mysql_query("Select FROM_UNIXTIME(regtime, '%Y-%m-%d') as date, count(FROM_UNIXTIME(regtime, '%Y-%m-%d')) as count from users group by FROM_UNIXTIME(regtime, '%Y-%m-%d') order by FROM_UNIXTIME(regtime, '%Y-%m-%d') DESC");
    $i = 0;
    while($row = mysql_fetch_array($result)){
        $date[$i][label] = $row['date'];
        $date[$i][value] = $row['count'];
        $i++;
    }

$newArray = json_encode($date);

关于php - 通过 PHP 从 SQL 表到 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36197796/

相关文章:

Python:如何将 { apple: "1", orange: "2"} 解析为字典?

C# Bot 使用 TcpClient 类连接

PHP Mysql获取时间范围之间的差距

php - Doctrine manyToMany 返回 PersistentCollection 而不是 ArrayCollection

php - 在网站结构中找到 "orphan"文件

PHP MySQL 将信息从表单插入数据库

php pdo 在特定日期获取数据返回空结果

MySQL在获取时忽略列值

javascript - 使用 Axios 克服 Pending Promise 并在 Node.js 中完成 JSON 构建

json - Nest 29840 - ExceptionsHandler 将循环结构转换为 JSON