2016-02-01 82 views
0

如何显示我的Tags值作为这样的后标签example显示多个不带逗号的值

产品表中

+----+--------+--------------------------+ 
| ID | Name |   Tags   | 
+----+--------+--------------------------+ 
| 1 | Shirt | Shirt,Clothes,Blue-Shirt | 
| 2 | Shoes | Shoes,Red-Shoes   | 
| 3 | Jacket | Jacket,Clothes   | 
+----+--------+--------------------------+ 

CODE

<?php 
$result= mysql_query("SELECT * FROM product") or die (mysql_error()); 
while ($rows = mysql_fetch_array ($result)) 
{ 
?> 
    <div class="post"> 
     Product name : <?php echo $rows['name']; ?> 
     <ul class="tags"> 
      <li>Tagged :</li> 
      <li><a href="#"><?php echo $rows['tags']; ?></a></li> 
     </ul> 
    </div> 
<?php } ?> 

我的代码给了这个result

+1

你可以使用'爆炸();'创建每个项目的标签的数组,然后循环它们。 – Epodax

+0

我不知道如何使用'explode();',请给我举个例子吗? –

+1

[我会简单地使用'implode'和'explode'](https://3v4l.org/sG9fm) –

回答

5

试试这个:

<div class="post"> 
    Product name : <?php echo $rows['name']; ?> 
    <ul class="tags"> 
     <li>Tagged :</li> 
     <?php $tg = explode(",", $rows['tags']); 
     foreach($tg as $t){ 
      echo '<li><a href="#">'.$t.'</a></li>'; 
     } ?> 
    </ul> 
</div> 
1

事情是这样的:

<?php 
$result= mysql_query("SELECT * FROM product") or die (mysql_error()); 
while ($rows = mysql_fetch_array ($result)) 
{ 
?> 
    <div class="post"> 
     Product name : <?php echo $rows['name']; ?> 
     <?php $tags = explode(",", $rows['tags']);?> 
     <ul class="tags"> 
      <li>Tagged :</li> 
      <?php foreach($tags as $tag) :?> 
      <li><a href="#"><?php echo $tag ?></a></li> 
      <?php endforeach;?> 
     </ul> 
    </div> 
<?php } ?> 

请参阅文档here

1

您可以使用explode()这样的:

<?php 
$result= mysql_query("SELECT * FROM product") or die (mysql_error()); 
while ($rows = mysql_fetch_array ($result)) 
{ 
    $tags = explode(",",$rows['tags']); 
?> 
    <div class="post"> 
     Product name : <?php echo $rows['name']; ?> 
     <ul class="tags"> 
      <li>Tagged :</li> 
      <? 
      foreach ($tags as $key => $value) { 
      ?> 
       <li><a href="#"><?php echo $value; ?></a></li> 
      <? 
      } 
      ?> 
     </ul> 
    </div> 
<?php 
} 
?> 

说明:

我有爆炸$rows['tags']用逗号和制造的标签阵列,并且比使用foreach循环打印每个标签单独<li>

+0

爆炸删除文本之间的逗号? –

+0

@VintageBeef:你可以这么说,但它爆炸了字符串,反抗它删除:) – devpro

+1

非常感谢。 :) –

0

内仅有麻烦使用此元件 .. <table> .. <td></td> .. <th></th> .. <li></li> .. </table> 尝试所有这

的0
1

如果你不想使用循环简单地使用implodeexplode功能等作为

echo "<li><a href='#'>".implode("</a></li><li><a href='#'>",explode(",",$rows['tags']))."</a></li>"; 

Demo

+1

非常感谢。 :) –