我的页面信息和图像存储在两个单独的表中。我想从表格“页面”中找到“类型”和“正文”。然后从表“page_images”中“图像”。两者显然来自同一页。
我想要一些随机页面的戏弄。但是,我需要一个图像(即使每个页面存储了很多图像)来自“page_images”,而'type'和'body'来自“page”。 (图像在表page_images中存储为'image_loc')
-- TABLE page
page_id | user_id | url_title | title | type | full_location | phone | body
----------------------------------------------------------------------------------------
1 | 1 | jazz_showcase | Jazz Showcase | Jazz | ... | ... | ...
-- TABLE page_images
image_id | user_id | page_title | image_loc
-----------------------------------------------
1 | 1 | jazz_showcase | ...
2 | 3 | jazz_showcase | ...
3 | 2 | something_else | ...
此查询不起作用...
function OnTheSpot() {
$query = mysql_query("SELECT page.body AS desc, page.style AS styles, page_images.image_loc AS images
FROM page
LEFT JOIN page_images
ON page.url_title = page_images.page_title
ORDER BY RAND()
LIMIT 1
");
while($fetch = mysql_fetch_assoc($query)) {
$desc = $fetch['desc'];
$styles = $fetch['styles'];
$images = $fetch['images'];
echo $desc.'<br />';
echo $styles.'<br />';
echo $images.'<br />';
}
}
我想要5个左右的随机页面进行演示。每个页面都限制一个图像,并显示类型和主体。如何进行查询。
答案 0 :(得分:2)
将desc
更改为例如descr
。 Desc
是MySQL中的保留字,您无法使用它。
编辑:这也是您的查询,可能会解决您的问题:
$query = "SELECT page.body AS descr, page.url_title, page.style AS styles, page_images.image_loc AS images FROM page,page_images WHERE page_images.page_title = page.url_title ORDER BY RAND() LIMIT 1");