0
我的代碼如下。基本上,這是一個「交易」網站(類似於groupon)。此頁面顯示城市中的所有活動交易,並按類別對其進行分類。例如,它會顯示:「餐飲」(然後是餐飲下的所有交易),然後是「冒險」(以及冒險下的所有交易)。等我想要做的就是縮短一大堆。我想每個展示最多隻能展示3筆交易,但後面會顯示一條鏈接:「在此類別中查看(x)更多」。例如:按類別獲取結果數量
Dining
<max of 3 deals>
(if deals > 3) "View 9 more deals in Dining"
Adventure
<max of 3 dals
(if deals > 3) "View 4 more deals in Adventure"
等。我知道我可以分開,並有一大堆的SQL語句(獲得各種美食交易,表明3.獲得冒險所有的交易表現3,等我只是。想知道是否有可能以另一種方式做到這一點)。
$deals = mysql_query("SELECT $db[ddd_companies].name as company_name, $db[ddd_companies].slug as company_slug, $db[ddd_deals].slug as slug, $db[ddd_deals].id, $db[ddd_deals].company_id, $db[ddd_deals].end_time, $db[ddd_deals].name, $db[ddd_deals].photo_alldeals, $db[ddd_categories].name as category
FROM $db[ddd_deals]
JOIN $db[ddd_cities_deals] as cd ON $db[ddd_deals].id=cd.deal_id
join $db[ddd_categories] on $db[ddd_categories].id=$db[ddd_deals].category_id
join $db[ddd_companies] on $db[ddd_companies].id=$db[ddd_deals].company_id
WHERE cd.city_id='$_SESSION[city_id]' AND $db[ddd_deals].start_time<='$now' AND $db[ddd_deals].end_time>'$now' AND $db[ddd_deals].deal_status_id='2' ORDER BY $db[ddd_categories].name, $db[ddd_deals].end_time");
$section = '';
while($d = mysql_fetch_array($deals)) {
if($section != $d['category']) {
// Display Section title when there is a new one
?>
<div style="clear: both;"> </div>
<h2><?php echo $d['category'];?></h2>
<?php
}
// Show deal information
$section = $d['category'];
}
編輯補充:限制會允許我結果#限制爲3,但我還需要拉起多少這一類。
嘗試http://stackoverflow.com/questions/3526219/mysql-limit-in-a-correllated-subquery –