开发者

How to build json for two mysql queries?

this is the code i use to generate single json object

$SQL = mysql_query("SELECT * FROM `receipts` WHERE DATE(date) = '2011-08-03'");
    if(mysql_num_rows($SQL ) > 0){
        $i=0;
        $responce->success = true;
        while($SQL_RESULT = mysql_fetch_object($SQL)){
            $responce->data[开发者_如何学Python$i]['reciept_no'] = $SQL_RESULT->reciept_no;
            $responce->data[$i]['time'] = $SQL_RESULT->date;
            $responce->data[$i]['user'] = $SQL_RESULT->user;
            $i++;
        }
    }
    else{
        $responce->success = false; 
        $responce->data = '';
        $responce->reason = "No Activity...";
    }

    echo json_encode($responce);

result is like

{"success":true,"data":[{"reciept_no":"2411","time":"09:33:56 AM","user":"test"},
{"reciept_no":"2412","time":"11:29:01 AM","user":" test "}]}

so there is another query which similar to this and generate exact same kind of output but from a another mysql table

i want to do is combine two results and send to javascript then decode it in javascript

like wrap first result with like table1 second result with table 2 or something

how to do that?

Sorry for the bad English

Regards


You could run both queries, one outputs to $response1 and the other to $response2, then you can use:

echo json_encode(array('table1'=>$response1,'table2'=>$response2));


JSON is just a text representation of a data structure. If you want to store two separate results in a single structure, then do

data['response #1'] = 'blah blah blah';
data['response #2'] = 'other other other';

You could store the two queries' data into a single sub-array, but then you'd need some extra data to be able to differentiate betweeen the two data sources. "did this record come from query #1? or from query #2?"


$SQL = mysql_query("SELECT * FROM `receipts` WHERE DATE(date) = '2011-08-03'");
if(mysql_num_rows($SQL ) > 0){
    $i=0;
    while($SQL_RESULT = mysql_fetch_object($SQL)){
        $responce->data[$i]['reciept_no'] = $SQL_RESULT->reciept_no;
        $responce->data[$i]['time'] = $SQL_RESULT->date;
        $responce->data[$i]['user'] = $SQL_RESULT->user;
        $i++;
    }
}

$SQL = mysql_query("SELECT * FROM `receipts2` WHERE DATE(date) = '2011-08-03'");
if(mysql_num_rows($SQL ) > 0){
    $i=0;
    $responce->success = true;
    while($SQL_RESULT = mysql_fetch_object($SQL)){
        $responce->data[$i]['reciept_no'] = $SQL_RESULT->reciept_no;
        $responce->data[$i]['time'] = $SQL_RESULT->date;
        $responce->data[$i]['user'] = $SQL_RESULT->user;
        $i++;
    }
}
else{
    $responce->success = false; 
    $responce->data = '';
    $responce->reason = "No Activity...";
}

echo json_encode($responce);

Is that your question?

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜