データベース内の 2 つのテーブルに対して単純なユニオン クエリのように見えるものを試していますが、成功した配列結果を取得することはできません。各テーブルには異なる列があり、仮想結果を作成したいことに注意してください (promo AS origin [「venpromo」テーブルから取得した結果の場合] &&vacation AS origin [「vacation」から取得した結果の場合) ' table]) 結果を異なる配列構造にソートするため。私はいたるところを見てきましたが、UNIONSはすべて異なる構文を使用しています。よろしくお願いします!
<?php
require_once('includes/config.php');
$event_query = "SELECT *, promo AS origin FROM venpromo
UNION
SELECT *, vacation AS origin FROM venpromo
ORDER BY popularity DESC";
$event_result = mysql_query($event_query, $connection);
while ($event = mysql_fetch_array($event_result)) {
if ($event['origin'] == "promo") {
$event_array[] = array(
'id' => $event['id'],
'title' => $event['calname'],
'start' => $event['sdate'],
'end' => $event['edate'],
'color' => "red",
'url' => "http://www.norrisportal.com/bulletinpost.php?id=" . $event['id'] . "&hashkey=akdULjsjyUpYyTzOT7"
);
} elseif ($event['origin'] == "vacation") {
$event_array[] = array(
'id' => $event['id'],
'title' => $event['reason'],
'start' => $event['vacstart'],
'end' => $event['vacend'],
'color' => "blue"
);
}
}
echo json_encode($event_array);
?>
ページにアクセスして結果を表示すると、「null」と表示されます。