我想从我的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