複数のテーブルから行を選択するクエリが作成されます...次に、必要な情報(つまりheadline
、そこから取得されます)
$sql="(SELECT `headline`,`date` FROM `arts`)
UNION
(SELECT `headline`,`date` FROM `lead_news`)
UNION
(SELECT `headline`,`date` FROM `opinion_analysis`)
UNION
(SELECT `headline`,`date` FROM `politics`)
UNION
(SELECT `headline`,`date` FROM `top_news`)
UNION
(SELECT `headline`,`date` FROM `lifestyle`)
ORDER BY `date` DESC LIMIT $limit ";
$result=mysql_query($sql);
while($row=mysql_fetch_assoc($result)){
echo trim(htmlspecialchars_decode($row['headline']));
}
table
また、それぞれの名前を見つける必要があります$row
。ここで、クエリが次のようになることを示唆するソリューションを見つけました。
"SELECT *, table_name as source FROM table_name"
$row['source']
テーブル名を返すことができます。
しかし、名前を取得するための連想配列キー$row
または mysql の組み込み関数があるかどうかを知りたいのですが?
EDIT:私はSELECT
次の方法でコマンドを書きました:
SELECT `headline`,`date`, `arts` as `source` FROM `arts`
エラーが発生しました:「フィールドリスト」の不明な列「アート」。ここで採用する方法は何ですか?