2016-12-23 14 views
1

私はこのような形式でタグベースにデータを保存しました。PHP,HTML,CSS,JSと私は自分のデータベースからすべてを選択すると、PHPがタグ文字列を爆発させて重複する一致文字列を削除する

私の問題は、複数のタグ名が異なる行にデータベースに格納されていて、タグを一度しか表示したくない場合です。

私はid,tagを選択したときに私のデータベースは

id | tag    | name | 
----|------------------|--------|--- 
1 | PHP,HTML,JS,SQL | file | 
2 | CSS,HTML,JQUERY | code | 
3 | AJAX,PYTHON,HTML | script | 

今ではこの

1 PHP,HTML,JS,SQL 
2 CSS,HTML,JQUERY 
3 AJAX,PYTHON,HTML 

を返しますし、私はそれが怒鳴るPHPを使用して爆発したとき、私はタグがハイパー参照を追加取得しますそれぞれのタグ

<?php 
    $exploded_string_tag = ''; 
    if(!empty($tagstring)){ 
    $GetThestring = $tagstring; 
    $arrayOfTags = explode(',', $GetThestring); 
    foreach($arrayOfTags as $LinkTageKey) { 
     $trimstr = preg_replace('/\s+/', '', $url.$LinkTageKey); 
    $exploded_string_tag .= '<a class="tags-s label-primary" href="'.$trimstr.'">'.$LinkTageKey.'</a>'; 
    } 
?> 

だから、テーブルから選択された2つ以上のタグを表示するにはどうすればいいですか? それに例を爆発しながら、それは私がすべてでHTMLを持っていると私は一つだけ

Raw data   | Exploded | What I want 
------------------------|-------------|----------------- 
    1 PHP,HTML,JS,SQL | PHP  | PHP 
    2 CSS,HTML,JQUERY | HTML  | HTML 
    3 AJAX,PYTHON,HTML | JS  | JS 
         | SQL  | SQL 
         | CSS  | CSS 
         | HTML  | JQUERY 
         | JQUERY | AJAX 
         | AJAX  | PYTHON 
         | PYTHON | 
         | HTML  | 
+1

[array_unique](http://php.net/manual/en/function.array-unique.php)を試しましたか? – Thamilan

+0

データベースを再設計し[正規化](https://en.wikipedia.org/wiki/Database_normalization)する必要があります。 1つのテーブルにタグがあり、1つにファイルがあり、タグとファイルをリンクする結合テーブルがあります。 –

答えて

3
$new_array = array_unique($exploded_array); 
0

はこれを試してみてください表示するこの使用して赤ん坊のように見えてください:

$array = array(PHP,HTML,JS,SQL,CSS,HTML,JQUERY,AJAX,PYTHON,HTML); 

は今これを使用

$unique_array = array_unique($array); 

ホープスヘップス!

+0

お願いします。完全なコードを追加してください –

関連する問題