쉼표로 구분 된 태그에서 고유 한 키워드를 선택, 그들은 양식에 있습니다어떻게 내 데이터베이스에서 일부 태그를 검색 할
tag1 tag2 tag3 tag4 tag5 tag6 tag7
:
topic_id tags
1 `tag1,tag2,tag3`
2 `tag1,tag4,tag5`
3 `tag2,tag4,tag5`
4 `tag6,tag7,tag2`
내가 이런 걸 갖고 싶어
즉 모든 고유 태그
이러한 특정 태그가있는 뉴스 기사를 그룹화하기 위해 각 태그를 링크로 감쌀 수 있도록.
내가 지금까지 쓴이 다음 쿼리
가 작동하지 않습니다 :$tags = mysql_query("SELECT tags, topic_id
FROM forum_topics
WHERE topic_id > 0") or die (mysql_error());
while($tag = mysql_fetch_assoc($tags)){
$split_tags = "$tag";
$pieces = explode(",", $split_tags);
echo $pieces ;
내가
print_r($pieces);
나는 내가 찾던없는 것이었다
Array ([0] => Array) Array ([0] => Array) Array ([0] => Array) Array ([0] => Array)
을 얻었다했을 때.
지금 내 테이블 구조는 다음과 같습니다. topic_id , topic_head, topic_body, topic_tag, topic_date, topic_owner
.. 어떻게 topic_tag를 정상적으로 만들 수 있습니까?
작성한 테이블입니까? 그렇다면 명확하게 표준화되지 않았습니다. 정규화 된 테이블은 topic_id와 태그 사이에 1 대 1 매핑을 갖습니다. 그러면 당신이 원하는 것을 얻기 위해'forum_topics'에서'select distinct tags를 선택하는 것 '을 할 수 있습니다. –
또한 코드에서 mysql_ * 함수를 사용하지 마십시오. 이 기능은 더 이상 유지 관리되지 않으며 [더 이상 사용되지 않습니다.] (http://news.php.net/php.internals/53799). 대신 [MySQLi] (http://php.net/mysqli) 또는 [PDO] (http://php.net/pdo)를 사용해야합니다. 어느 것을 사용해야할지 모르십니까? [이 기사] (http://php.net/manual/en/mysqlinfo.api.choosing.php)가 도움이 될 것입니다. –