gpt4 book ai didi

php - MySQL 过滤器复选框列表值

转载 作者:行者123 更新时间:2023-11-29 03:34:38 25 4
gpt4 key购买 nike

我想过滤存储在我的数据库中的多个以逗号分隔的值。当我存储我的值时,我将它们内爆为例如“53、57、58”。所以我可以再次分解它以在我的概述中显示正确的值。但现在的事情。

我现在使用 inCondition 过滤它们(我使用 YII):

if( count( $sector ) > 0 )
$criteria->addInCondition( 'sector', $sector );

所以这在我选择 1 个选项时有效。如果我选择 2 个选项,它仅在所选选项与数据库记录的顺序相同时才有效。所以这种情况不会经常发生 ;-)。

现在我的问题。如何将我的搜索值与我的数据库记录相匹配?有谁知道如何处理这个?

谢谢!

编辑:解决方案:

循环遍历数组并为每个选定项目添加搜索条件,如下所示:

if( count( $niveau ) > 0 ){
foreach ($niveau as $n)
$criteria->addSearchCondition( 'niveau', $n, true, 'AND' );
}

最佳答案

试试这个:

if(count($niveau)) > 0) {
$niveauConditions = array();
foreach($niveau as $n) {
$niveauConditions[] .= "CONCAT(',', `niveau`, ',') LIKE '%,{$n},%'";
}
$criteria->addCondition(implode(' OR ', $niveauConditions));
}

如果这对您有帮助,请告诉我。还认为你可以使用 FIND_IN_SET

关于php - MySQL 过滤器复选框列表值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24404060/

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