gpt4 book ai didi

php - 从 mysql 查询结果的数组中过滤数据

转载 作者:太空宇宙 更新时间:2023-11-03 12:24:21 25 4
gpt4 key购买 nike

好的,我有一个看起来像这样的查询:

   "SELECT `tag_name`,`sub_tag_name` FROM phpro_tag_targets targets
INNER JOIN sub_tags ON targets.sub_tag_id=sub_tags.sub_tag_id
INNER JOIN phpro_tags tags ON targets.tag_id=tags.tag_id
WHERE tag_target_id='{$vid['tag_target_id']}'";

表格本身看起来像这样:

phpro_tag_targets:

   tag_target_id | tag_id  | sub_tag_id | tag_target_name | tag_type_id
int(11) | int(11) | int(11) | var_char | int(3)
<PK - index> | <fk> | <fk>

phpro_tags:

  tag_id | tag_name
<PK> | VARCHAR
sub_tags:
sub_tag_id | sub_tag_name
<PK> | VARCHAR

查询的结果是这样的

Array ( 
[0] => Array ( [tag_name] => Humanity [sub_tag_name] => Children )
[1] => Array ( [tag_name] => Society [sub_tag_name] => Children )
[2] => Array ( [tag_name] => Art and Artists [sub_tag_name] => Creativity )
[3] => Array ( [tag_name] => Humanity [sub_tag_name] => Creativity )
[4] => Array ( [tag_name] => Humanity [sub_tag_name] => Culture )
[5] => Array ( [tag_name] => Society [sub_tag_name] => Culture )
[6] => Array ( [tag_name] => unlisted [sub_tag_name] => Culture )
[7] => Array ( [tag_name] => unlisted [sub_tag_name] => Culture )
)

结果是与一段内容(即视频或文章)关联的标签和子标签。我试图在 html 中显示此信息,这样我就有一个 <span class="tags">和一个 <span class="subtags"> .对于上述例如。数据 html 看起来像这样:

   <span class="tags"> Humanity Society Art and Artists unlisted </span>
<span class=subtags> Children Creativity Culture </span>

有没有一种方法可以使用 php(或更改查询)以某种方式过滤数据,以便我一次只显示每个不同的值。因为我目前正在使用循环来循环访问数据并多次显示相同的标签和子标签,但无法弄清楚如何进一步过滤结果。

如果能深入了解如何做到这一点,我们将不胜感激!

最佳答案

首先,您需要遍历数据数组并将所有标签名称和子标签名称收集到单独的数组中。然后使用 array_unique从数组中删除重复值。最后使用 implode将数组元素连接到字符串。

$tags = array();
$sub_tags = array();

// NOTE: $array is query result array
foreach ( $array as $value ) {
$tags[] = $value['tag_name'];
$sub_tags[] = $value['sub_tag_name'];
}

$tags = array_unique( $tags );
$sub_tags = array_unique( $sub_tags );

echo '<span class="tags">'.implode( ' ', $tags ).'</span>';
echo '<span class="subtags">'.implode( ' ', $sub_tags ).'</span>';

我真的希望我已经正确理解了这个问题。

关于php - 从 mysql 查询结果的数组中过滤数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18342998/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com