Files
dev.ttsby.com/_core/function/lib/searchsql.lib.php
2023-04-17 11:06:08 +09:00

55 lines
1.3 KiB
PHP

<?php
//검색sql
function LIB_getSearchSql($w,$k,$ik,$h)
{
if($k==',' || (!$k&&$h=='not')) return '';
$k = $k ? urldecode($k) : '';
$ik= $ik? urldecode($ik) : '';
$h = $h ? $h : 'or';
$k = str_replace(' ', ',',$k);
$karr = explode(',' , $k);
$knm = count($karr);
$result = ' and (';
if ($h == 'not')
{
$h = 'and';
if (strstr($w,'|'))
{
$warr = explode('|' , $w);
$wnm = count($warr);
for ($j = 0; $j < $knm; $j++)
{
if (!$karr[$j]) continue;
for ($i = 0; $i < $wnm; $i++) if (strlen($karr[$j])>2) $result .= $warr[$i]."<>'".$karr[$j]."' ".$h.' ';
}
}
else {
for ($i = 0; $i < $knm; $i++) if (strlen($karr[$i])>2) $result .= $w."<>'".$karr[$i]."' ".$h.' ';
}
}
else {
if (strstr($w,'|'))
{
$warr = explode('|' , $w);
$wnm = count($warr);
for ($j = 0; $j < $knm; $j++)
{
if (!$karr[$j]) continue;
for ($i = 0; $i < $wnm; $i++) if (strlen($karr[$j])>2) $result .= $warr[$i]." like '%".$karr[$j]."%' ".$h.' ';
}
}
else {
for ($i = 0; $i < $knm; $i++) if (strlen($karr[$i])>2) $result .= $w." like '%".$karr[$i]."%' ".$h.' ';
}
}
$result = substr($result,0,strlen($result)-4).')';
if($ik) $result .= getSearchSql($w,$ik,'',$h);
return $result;
}
?>