2012-02-22 53 views
0

CMS型號:mysql_fetch_array - 團體成績

public static function getSiteLinks($page) 
{ 
    $query="SELECT * FROM cms_links WHERE page = '{$page}'"; 

    return mysql_query($query); 
} 

cms_links表有以下幾點:id, page, section_sub, title, link

在我看來,我有:

$links=CMS::getSiteLinks('home-page'); 

while($link = mysql_fetch_array($links)) 
{ 
    echo $link['section_sub']; 
    echo $link['title']; 
} 

領域section_sub定義了 '羣' 的鏈接屬於。我想輸出上述查詢的結果,按section_sub分組。因此,例如在每個組之後,插入一個換行符並開始下一個組。

回答

0

首先將ORDER BY section_sub添加到您的查詢。

現在,在循環之前,添加$currsection = null;

在循環中,你應該做的第一件事是:

if($link['section_sub'] != $currsection) { 
    $currsection = $link['section_sub']; 
    echo "<hr /><h2>".$link['section_sub']."</h2>"; 
} 

完成。

+0

乾杯伴侶。我如何將每個'section_sub'包含在DIV中? – GSTAR 2012-02-22 10:46:11

+0

'echo

' before the loop, '
'循環後,'
'當節改變時。 – 2012-02-22 10:53:21

+0

乾杯。我遇到了麻煩 - 你能更新你的例子來說明這個嗎? – GSTAR 2012-02-22 11:00:45

0

試試這個:

由section_sub排列結果:

$query="SELECT * FROM cms_links WHERE page = '{$page}' ORDER BY section_sub"; 
... 
$prevsub = ''; 
while($link = mysql_fetch_array($links)) 
{ 
    echo $link['section_sub']; 
    echo $link['title']; 

    if($prevsub != '' && $prevsub != $link['section_sub']) 
     echo '<br/>'; 
    $prevsub = $link['section_sub']; 
}