从DB中分离和显示标签

时间:2016-02-07 16:30:03

标签: php html mysql

我想在我的HTML中将博客帖子的标签显示为单独的字词。我编写了代码,但它只显示所有标签而不分离它们。我也希望没有标签可以重复。这是代码

$( "#youbuttonID" ).addClass( "class you want to add" );

这是我得到的截图:

enter image description here

我想要的是分隔每个关键字。看看第一行,它来自一个帖子(萨利姆,金融,诗歌,测试);我希望将它们分开并使用DISTINCT,以便不再重复关键字。

2 个答案:

答案 0 :(得分:2)

第一个建议: - mysql_*已弃用,因此请立即使用mysqli_*PDO

这将是您的最终代码: -

<?php
$query = "select DISTINCT(tags) from blog"; // query to select unique tags
$q_result = mysql_query($query) or die (mysql_error());
$tag_data  = array(); // create an empty array
if(mysql_num_rows($q_result) != 0){
    while($rr = mysql_fetch_assoc($q_result)){ // fetch assoc instead of row
        $tag_data[] = $rr['tags']; // assign tags to new array
    }
}

foreach($tag_data as $tag){ // iterate through the tags array ?>
<li><a href="blog_l?tags=<?php echo $tag; ?>"><i class="fa fa-tags"></i><?php echo $tag; ?></a></li>
<?php }?>

注意: - 您可以直接在while循环中执行值的打印部分。谢谢。我的代码$tag_data也可供将来使用。

答案 1 :(得分:1)

从数据库查询中获取结果后,使用下面的代码来获取您希望的标记数组

$dbResult = $rr[0]; //"news, demo text"
$arrayTag = array_unique(array_map('trim', explode(",",$dbResult))); //['news', 'demo text']