2013-04-29 65 views
0

简单的问题。我有以下自定义查询。我如何通过“echo?”生成数组的html列表自定义查询结果生成代码

$q_result = $wpdb->get_col("SELECT DISTINCT {$wpdb->terms}.name FROM {$wpdb->terms} 
     INNER JOIN {$wpdb->term_taxonomy} ON {$wpdb->term_taxonomy}.term_id = {$wpdb->terms}.term_id 
     INNER JOIN {$wpdb->term_relationships} ON {$wpdb->term_taxonomy}.term_taxonomy_id = {$wpdb->term_relationships}.term_taxonomy_id 
     WHERE {$wpdb->term_taxonomy}.taxonomy = 'series' AND {$wpdb->term_relationships}.object_id IN (
     SELECT object_id FROM {$wpdb->term_relationships} 
     INNER JOIN {$wpdb->term_taxonomy} ON {$wpdb->term_taxonomy}.term_taxonomy_id = {$wpdb->term_relationships}.term_taxonomy_id 
     WHERE {$wpdb->term_taxonomy}.taxonomy = 'media_type' AND {$wpdb->term_taxonomy}.term_id = '16' 
     ORDER BY {$wpdb->terms}.term_order DESC 
     ) ORDER BY {$wpdb->terms}.term_order ASC"); 

回答

0

你可以只通过与foreach数组迭代 -

foreach($q_result as $result){ 
    echo "<a href='/series/".$result."/>".$result."</a>"; 
} 

如果你希望它显示HTML,以及,你将不得不附和正确的HTML标签。上面的链接到这个术语的工作 - 格式是TAXONOMY/TERM_SLUG,但是你只是返回名字,你需要使用get_results()来得到名字和slug来正确地做到这一点。

重新格式化例如使用表的别名,返回术语和毛坯:

$sql = <<<SQL 
    SELECT DISTINCT t.name, t.slug 
    FROM {$wpdb->terms} t 
    INNER JOIN {$wpdb->term_taxonomy} tt 
     ON tt.term_id = t.term_id and tt.taxonomy = 'series' 
    INNER JOIN {$wpdb->term_relationships} tr 
     ON tt.term_taxonomy_id = tr.term_taxonomy_id 
    WHERE tr.object_id IN (
     SELECT object_id 
     FROM {$wpdb->term_relationships} tr2 
     INNER JOIN {$wpdb->term_taxonomy} tt2 
      ON tt2.term_taxonomy_id = tr2.term_taxonomy_id AND tt2.taxonomy = 'media_type' AND tt2.term_id = '16' 
     ORDER BY {$wpdb->terms}.term_order DESC 
    ) 
    ORDER BY {$wpdb->terms}.term_order ASC 
SQL; 

$terms = $wpdb->get_results($sql); 
for ($terms as $term){ 
    echo "<a href='/series/{$term->slug}/'>{$term->name}</a><br/>"; 
} 
+0

谢谢你!我将如何回应永久链接? – izharbuen 2013-04-29 17:21:20

+0

假设该术语的固定链接...请参阅我的编辑,但它不会真正起作用,因为您得到的是名称而不是slu。。 – doublesharp 2013-04-29 17:24:07

+0

我需要做些什么才能抓住名字和slu?? – izharbuen 2013-04-29 17:36:03

相关问题