Files
cm-web/application/helpers/sql_search_helper.php
2020-06-10 06:21:34 +09:00

57 lines
1.8 KiB
PHP
Executable File

<?php
function getCho($col, $idx, $f_word)
{
// echo "getCho:" . $idx . "," . $f_word . "<br>";
if($f_word == 'ㄱ')
return " substr({$col},{$idx},1) between '가' and '낗'";
else if($f_word == 'ㄴ')
return " substr({$col},{$idx},1) between '나' and '닣'";
else if($f_word == 'ㄷ')
return " substr({$col},{$idx},1) between '다' and '띻'";
else if($f_word == 'ㄹ')
return " substr({$col},{$idx},1) between '라' and '맇'";
else if($f_word == 'ㅁ')
return " substr({$col},{$idx},1) between '마' and '밓'";
else if($f_word == 'ㅂ')
return " substr({$col},{$idx},1) between '바' and '삫'";
else if($f_word == 'ㅅ')
return " substr({$col},{$idx},1) between '사' and '앃'";
else if($f_word == 'ㅇ')
return " substr({$col},{$idx},1) between '아' and '잏'";
else if($f_word == 'ㅈ')
return " substr({$col},{$idx},1) between '자' and '찧'";
else if($f_word == 'ㅊ')
return " substr({$col},{$idx},1) between '차' and '칳'";
else if($f_word == 'ㅋ')
return " substr({$col},{$idx},1) between '카' and '킿'";
else if($f_word == 'ㅌ')
return " substr({$col},{$idx},1) between '타' and '팋'";
else if($f_word == 'ㅍ')
return " substr({$col},{$idx},1) between '파' and '핗'";
else if($f_word == 'ㅎ')
return " substr({$col},{$idx},1) between '하' and '힣'";
else
return " substr({$col},{$idx},1) = '{$f_word}'";
}
function splitCho($term) {
$i = 0;
$chos = array();
for ($i = 0; $i < mb_strlen($term,"UTF-8"); $i++) {
$char = mb_substr($term, $i, 1, 'UTF-8');
array_push($chos, $char);
}
return $chos;
}
function getSqlCho($colume, $term) {
$sql = "";
$i = 1;
foreach (splitCho($term) as $ch) {
$sql .= ($i == 1 ? "" : " AND ") . getCho($colume, $i++, $ch);
}
return $sql;
}