while循环中的query如何簡化?
我在這裡貼完整的語法 煩請各位mysql大師鑑定
$gettimeline = mysql_query("SELECT * FROM `timeline`
LEFT JOIN `users_profile` USING (id)
ORDER BY `addtime_timeline` DESC
");
以上是找timeline資料表並以addtime_timeline排列
while ($row=mysql_fetch_array($gettimeline)){
印出timeline的欄位資料
}
以上是印出timeline資料的循环
在循环中我會加入query 如下
while ($row=mysql_fetch_array($gettimeline)){
$GETthumb1 = mysql_query("SELECT * FROM `timeline_thumb`
WHERE `id` = '".$_SESSION['userid']."'
AND `by_timeline_id` = '".$row['timeline_id']."'
AND `thumb_type` = '1'
");
$pub_GETthumb1 = mysql_query("SELECT * FROM `timeline_thumb`
WHERE `by_timeline_id` = '".$row['timeline_id']."'
AND `thumb_type` = '1'
");
$pub_GETinfo = mysql_query("SELECT * FROM `timeline_thumb`
JOIN `users_profile` USING (id)
WHERE `by_timeline_id` = '".$row['timeline_id']."'
ORDER BY `addtime_thumb` DESC
");
$get_comment = mysql_query("SELECT * FROM `timeline_comment`
JOIN `users_profile` USING (id)
WHERE `re_timeline_id` = '".$row['timeline_id']."'
ORDER BY `addtime_comment` DESC ");
$get_comment_num = mysql_query("SELECT * FROM `timeline_comment`
WHERE `re_timeline_id` = '".$row['timeline_id']."'
");
}
GETthumb1是找timeline_thumb資料表中與timeline(timeline_id)相符的id(by_timeline_id)有幾筆(抓出用戶自身有幾筆)。
pub_GETthumb1則是總共有幾筆。
pub_GETinfo是抓出用戶的資料與users_profile (id)對應。
get_comment是抓出timeline_comment資料表中與timeline(timeline_id)相符的id(re_timeline_id)有幾筆並抓出用戶的資料與users_profile (id)對應。
get_comment_num是抓出總共有幾筆。
有將mysql查詢簡化的空間嗎?........
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
所述幾筆是要最終的結果數量還是沒條記錄.
問題所描述的查詢使用 sql 查詢 看起來分別應該是這樣的
這每條語句實際中也有很多重疊的, 也可以再次剝離出來, 不建議先查出來在 while 遍歷繼續查詢, 這樣造成的 IO 開銷很大.