0
循環多次,想知道是否有這樣做的更簡單的方法...如何通過1 PHP/MySQL的結果
我有一個表與一幫行的,需要根據具體的值分別顯示出來1列名爲「page_group」。現在它確實工作,當我重置結果的指針回到零,但想知道是否更簡單的方法來編碼,因爲至少有15個不同的部分來分組結果...?
//this is the query
$q_home = mysql_query("SELECT * FROM pages WHERE page_nav = 'No' ORDER BY page_group ASC");
//this would show results 1, showing all rows that have the value "sample1"
<h3>Result 1</h3>
<ul>
<?
while($r_nav = mysql_fetch_assoc($q_home)){
$group_folder = $r_nav['page_group'];
if ($r_access["$group_folder"] == "Yes" && $group_folder == 'sample1') {
$access = 'block;';
} else {
$access = 'none;';
} {;
echo '<li style="display:'.$access.'"><a href="'.$group_folder.'/'.$r_nav['page_url'].'.php">'.$r_nav['page_name'].'</a></li>';
}
}
?>
</ul>
//this would be result 2 showing all rows that have value "sample2"
<h3>Result 2</h3>
<ul>
<?
mysql_data_seek($q_home, 0);
while($r_nav2 = mysql_fetch_assoc($q_home)){
$group_folder = $r_nav2['page_group'];
if ($r_access["$group_folder"] == "Yes" && $group_folder == 'sample2') {
$access = 'block;';
} else {
$access = 'none;';
} {;
echo '<li style="display:'.$access.'"><a href="'.$group_folder.'/'.$r_nav2['page_url'].'.php">'.$r_nav2['page_name'].'</a></li>';
}
}
?>
</ul>
將SQL與業務邏輯和HTML生成代碼放在一起並不好。你需要爲每個責任在那裏上課。一個回答你問存儲後端的問題,從而運行SQL。一個從一些愚蠢的數據結構生成視圖(即HTML)。這樣一個愚蠢的數據結構。還有一個用例類,它使用您的商店類運行查詢,然後從結果中構建一個數據對象並將其提供給視圖以將其可視化。至少有4種不同的責任。 – 2013-03-05 02:42:54
你的代碼應該有語法錯誤。 – TNK 2013-03-05 02:56:32