1

質問があります:

    $result = mysql_query("SELECT
    Left(Right(Base.inputs.Data_inf,4),3) As 'Datas',
    count(Base.Data.Data_ID) As `U_Count`
    FROM
        Base.Data
    WHERE
        Base.Data_inputs.info = 'TREE'
    GROUP BY ");

    $rows = array();

    while($r = mysql_fetch_array($result)) {
        $row[0] = $r[0];
        $row[1] = $r[1];
        array_push($rows,$row);
    }

    print json_encode($rows, JSON_NUMERIC_CHECK);

結果は次のとおりです。

[["Data1",38],["Data2",13]]

私はデータがもっと似ていることを望みます:

[{"name":"Data1","data":[38]},{"name":"Data2","data":[13]}]

私はこのようなものを使用しようとしていました:

    $rows = array();
    while($r = mysql_fetch_array($sth)) {
       $rows['name'] = $r['Datas'];
       while($r = mysql_fetch_array($sth)) {
        $rows['data'][] = $r['U_Count'];
    }
}

しかし、うまくいきません。

誰でも助けることができますか?ありがとう

4

2 に答える 2

1

データをトラバースして、配列として保存できます。

$rows = array();
while($r = mysql_fetch_array($sth)) {
   $rows[] = array('name'=>$r['Datas'],'data'=>array($r['U_Count']));
}
于 2013-10-16T12:24:12.600 に答える
0

mysql_fetch_object()の代わりに使用mysql_fetch_array()

while($r = mysql_fetch_object($result)) {
    ...
于 2013-10-16T12:18:58.750 に答える