0

テーブル (market_items) の列 (キーワード) には、各キーワードをカンマで区切ったキーワードがあります。このクエリを使用してキーワードを取得しています。

$cid = intval($cid);
$query = $db->query("
    SELECT keywords
    FROM ".TABLE_PREFIX."market_items
    WHERE cid = '{$cid}'
    GROUP BY keywords
    ORDER BY dateline DESC
");
$cat_tags = '';
while ($t = $db->fetch_array($query))
{
    $keywords = trim($t['keywords']);
    $keys = explode(",",$keywords);
    foreach ($keys AS $key)
    {
        $cat_tags .= '<span class="small_buttons_class"><a href="market.php?action=tag_items&keywords='.$key.'">'.$key.'</a></span> ';
    }
}

キーワードは正常に取得されますが、次のような同様のキーワードが表示されます。

keyword1 keyword2 keyword1 keyword3 keyword4 keyword5 keyword3

「上のキーワード番号に注意してください」

類似のキーワードを削除して、このように表示するにはどうすればよいですか? 例えば

keyword1 keyword2 keyword3 keyword4 keyword5

明確にするために、列「キーワード」には、キーワードは次のように保存されます。

keyword2keyword4keyword3keyword1

助けてください!

4

5 に答える 5

1

これを試して;

$cid = intval($cid);
$query = $db->query("
    SELECT keywords
    FROM ".TABLE_PREFIX."market_items
    WHERE cid = '{$cid}'
    ORDER BY dateline DESC
");
$cat_tags = '';
while ($t = $db->fetch_array($query))
{
    $keywords = trim($t['keywords']);
    $keys = explode(",",$keywords);
    $keys = array_unique($keys);
    foreach ($keys AS $key)
    {
        $key = trim($key);
        $key_collect[$key] = $key;
    }
}

foreach ($key_collect as $k)
{
    $cat_tags .= '<span class="small_buttons_class"><a href="market.php?action=tag_items&keywords='.$k.'">'.$k.'</a></span> ';
}
于 2013-11-11T15:13:00.020 に答える