我想從我的WordPress數據庫中獲取所有的頁面標題。 因此,我創建像查詢:
$results = $wpdb->get_results("SELECT * FROM $wpdb->postmeta WHERE meta_key = 'company_name' ORDER BY meta_value ASC");
foreach邏輯不重複html
之後,一個循環foreach
提取所有值。
我想用第一個字母來分隔每個頁面的名稱。
所以我創建了一個substr
函數來獲取第一個字母。
這一切工作。問題是以下
我需要回顯值並將它們存儲在其正確的字母下。
像:
---------A---------
A company
A nother company
---------B---------
B company
B nother company
所以我這樣做:
if($first == 'A')
{
echo '<a name="A"></a>
<div class="nav-indicator" id="nav-a">A</div>
<ul>'.$table.'</ul>
</li>';
}
if($first == 'B')
{
echo '<a name="B"></a>
<div class="nav-indicator" id="nav-b">B</div>
<ul>'.$table.'</ul>
</li>';
}
.... ETC.
的$table
VAR包含<li><table>...</table></li>
他每次重複---------A---------
陣列的foreach
遍歷有些愚蠢的原因我無法弄清楚如何不重複這一點。 我真的不想創建26個不同的foreach
循環來消除字母表中的字母。
- 編輯 -
這是foreach循環:
foreach ($results as $result){
$post_id = $result->post_id;
$company_name = get_post_meta($post_id, 'company_name', true);
$first = substr($company_name, 0, 1);
$table = '<li><table cellpadding="0" cellspacing="0" border="0" width="100%" bgcolor="#FFFFFF"><tr><td width="75%"><strong>'.$company_name.'</strong></td>';
if($first == 'A'){
echo '<a name="'.$first.'"></a><div class="nav-indicator" id="nav-'.strtolower($first).'">'.$first.'</div><ul>'.$table.'</ul>';}
}
不確定你的問題。但似乎你可以使用一些數組排序功能。 – 2015-03-25 12:12:39
哪個變量是--------- A ---------存放在?或者是通過基於ID的CSS/JS完成的? – hlh3406 2015-03-25 12:17:36
哦,我認爲你誤解了我的問題,或者我不清楚它。我想通過它的第一封信分離所有公司。所以------- A ------只是表明所有以字母A開頭的公司應該放在哪裏 – Interactive 2015-03-25 12:19:12