我有一个包含以下内容的数据库
----id---|-----name-----|-----owner----|----tags---------------|
----1----|-----123------|------jc------|--van outside door-----|
----2----|-----124------|------dw------|----van daz------------|
----3----|-----125------|------jc------|--daz outside flower----|
我想做的是回显标签列中所有单词的列表,而不重复相同的单词。
到目前为止我已经成功回应了
vanoutdoorvandazdazoutsideflower
注意重复的单词并且行之间没有空格。
我还希望结果是 url 链接 ?t=$tag
这是为了对照片进行排序。
我是否应该将标记列中的分隔符更改为 ,
,如 daz,indoor,flower
。
这是我的代码
$sql = "SELECT * FROM photos";
$filterresult = mysql_query($sql);
while($row = mysql_fetch_array($filterresult))
{
$id = $row['id-name'];
$name = $row['name'];
$owner = $row['owner'];
$tags = $row['tags'];
$filterdir = "photos/$owner/index_files/vlb_thumbnails1/";
$filterdir2 = "photos/$owner/index_files/vlb_images1/";
echo "<a href=\"photoview102.php?t=$tags\">$tags</a>";
}
好的,这是新代码(感谢您迄今为止的帮助)
$tags = array();
$sql = "SELECT * FROM photos";
$filterresult = mysql_query($sql);
while($row = mysql_fetch_array($filterresult))
{
$id = $row['id-name'];
$name = $row['name'];
$owner = $row['owner'];
$tags = array_merge($tags, explode(' ', $tags));
$filterdir = "photos/$owner/index_files/vlb_thumbnails1/";
$filterdir2 = "photos/$owner/index_files/vlb_images1/";
}
$tags = array_unique($tags);
foreach ($tags as $tag) {
echo "<a href=\"photoviewer102.php?t=$tag\">$tag</a>";
}
最佳答案
这可以通过 in_array
轻松完成。您可以将标签存储在数组中,然后再检查其是否存在。
$tags = array();
//iterate over your rows+tags
if (!in_array($current_tag, $tags))
$tags[] = $current_tag;
关于PHP 行结果不重复,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19077026/