多くのクエリを 1 つの配列に結合して返すことができるかどうか疑問に思っています。問題は、これらのクエリの一部がすでに配列になっていることです...これが私が言いたいことです:
JS:
function getNews() {
$.getJSON(serviceURL + 'getmainnews.php', function(data) {
$('#fnews li').remove();
daily = data.items;
$.each(daily, function(index, mnews) {
//append the data to listview
});
});
クエリを含むphpファイルは次のとおりです。
<?php
include 'connect_to_mysql.php';
mysql_query("SET NAMES UTF8");
$day = mysql_query("SELECT * FROM basket_news WHERE topic='daily' ORDER BY id DESC LIMIT 1");
$daily = array();
while ($r = mysql_fetch_assoc($day)){
$daily[] = $r;
}
$sql = mysql_query("SELECT * FROM basket_news WHERE topic='' ORDER BY id DESC");
$mainnews = array();
while ($r = mysql_fetch_assoc($sql)){
$mainnews[] = $r;
}
?>
このようなクエリがさらにある場合、それらをまとめて次のようなことができるようにするにはどうすればよいですか。
echo json_encode(array("items" => $daily, "allitems" => $mainnews));
$daily には LIMIT 1 があることは理解していますが、$mainnews などの他のものは大きな配列になります。PHPエコーを設定してJSに戻すにはどうすればよいですか? 他のすべてが失敗した場合、複数の ajax 呼び出しを行うことができると思いますが、それは無駄です...