1
我正在嘗試按照結果的第一個字母順序製作一個按字母順序排序的術語表,並將其標題從其中取出,然後返回其下的結果的完整標題。我遇到的問題是,當我的函數調用1 - Z的結果時,A - Z中的所有內容都會自動複製,1 - 9的結果只顯示一次。循環複製問題
這是創建的功能。
function business_listings($states){
$dbquery = db_query("SELECT DISTINCT CityName FROM {zipcodes} WHERE StateName = '".ucfirst(arg(2))."' ORDER BY CityName ASC");
$cityname = '';
$cityname = '<nav id="alphabetize">';
foreach (range('a', 'z') as $char) {
$cityname .= '<a href="#sort-'.$char.'">'.ucfirst($char).'</a>';
}
$cityname = '</nav>';
$curr_letter = '';
$cityname = '<div class="alpha_wrapper">';
foreach ($dbquery as $dbrow) {
$title_array = explode(' ', $dbrow->CityName);
$this_letter = substr($title_array[0], 0, 1);
//Here is where the problem starts to occur
if ($this_letter != $curr_letter) {
if (!empty($curr_letter)) {
$cityname .= '<div class="clear"></div></div><div class="alpha_wrapper">';
}
$curr_letter .= $this_letter;
$cityname .= '<div id="sort-'.strtolower($this_letter).'" class="alpha_title">';
$cityname .= $this_letter;
$cityname .= '</div>';
}//end of if statement where problem is
$cityname .='<div class="cityname">';
$cityname .= l($dbrow->CityName, $base_url.$_SERVER['REQUEST_URI'].'/'.strtolower(urlencode($dbrow->CityName)));
$cityname .= '</div>';
}
return $cityname;
}
例如,循環是這樣的。
<div headerdiv>1</div>
10 palms
100 palms
1000 palms
<div headerdiv>2</div>
20 palms
200 palms
2000 palms
<div headerdiv>a</div>
apple 1
<div headerdiv>a</div>
apple 2
<div headerdiv>a</div>
apple 3
<div headerdiv>a</div>
apple 4
這繼續直到Ž 頭的div應只給一個結果和蘋果1 2 3和4應該是它下面的所有方式。
如果我的示例沒有更具描述性的話,我還附上了截圖。
有沒有人有什麼建議?
感謝
啊確定我沒有聽清楚。謝啦。 – Suzed
不客氣。 –