首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从搜索查询中获取唯一值,以填充搜索筛选器选项

从搜索查询中获取唯一值,以填充搜索筛选器选项
EN

Stack Overflow用户
提问于 2019-12-06 22:17:00
回答 1查看 50关注 0票数 0

我的站点上有一个产品搜索,它使用sql查询来获取结果。

例如:

代码语言:javascript
复制
$result=odbc_prepare($connection, "SELECT name, description, brand FROM item_catalog WHERE description LIKE $searchterm");
odbc_execute($result);
    $count = odbc_num_rows($result);
        if($count >= 1) {
            while($row = odbc_fetch_array($result)) {
                echo "<table cellspacing='7px' cellpadding='0' border='0'>";
                echo "<tr>";
                echo "<td style='vertical-align:top;line-height:0; display:none;'></td>";
                echo "<td>" . $row['name'] . "</td>";
                echo "<td>" . $row['brand'] . "</td>";
                echo "</tr>";
                echo "</table>";
            }
        }

我希望能够获取搜索结果,并填充一个过滤器框,其中只有来自品牌字段的唯一的值。因此,用户可以根据品牌过滤结果。我只想把独特的品牌放在一个无序的名单,我将有一个复选框旁边的每个品牌。

我如何才能抓住独特的品牌价值?我曾和unique_array玩过,但没能让它起作用。

记住,会有更多的过滤器,而不仅仅是品牌。潜在的,5-10个字段,我们将希望填充过滤器。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-12-06 22:23:15

可以使用DISTINCT,如下所示:

代码语言:javascript
复制
SELECT DISTINCT
       brand
       FROM item_catalog
       WHERE description LIKE ?;

但是你能做的最好的事情就是规范化模式。有一个单独的表与所有品牌和只有一个外键,该表在item_catalog

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59221003

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档