Начало Новини Маркет Проекти Форум ИТ Работа Уроци Скриптове WiFi точки Още Вход


Нова тема
Модификация на търсачка
Тази тема е погледната 709 пъти
Добави темата към любими | Принтирай темата | Нова тема 
Публикувано на: 21.12.2011 14:08
Denchov
Чирак

Мнения: (3)

Здравейте нов съм в сайта и искам да попитам за един малък проблем
който ме товари цяла сутрин.

 CODE
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<?
if($_POST['searching']) {
$search = $_POST['srch'];
$bg =
array('а','б','в','г','д','е','ж','з','и','й','к','л','м','н','о','п'
,
'р','с','т','ш','щ','ц','ъ','х','у','я','ч','екс','ю','ь');

$en =
array('a','b','v','g','d','e','j','z','i','i','k','l','m','n','o','p'
,
'r','s','t','6','6t','tc','u','h','y','q','4','x','iu','io');

$glavniBG =
array('A','Б','В','Г','Д','Е','Ж','З','И','Й','К','Л','М','Н','О','П'
,
'Р','С','Т','Ш','Щ','Ц','Ъ','Х','У','Я','Ч','ЕКС','Ю','Ь');

$glavniEN =
array('A','B','V','G','D','E','J','Z','I','I','K','L','M','N','O','P'
,
'R','S','T','SH','SHT','TC','U','H','Y','Z','Q','4','X','IU','Ь');

$search = str_replace($bg,$en,$search); // zamenqm bg s EN
$search = str_replace($glavniBG,$glavniEN,$search);//zamenqm Glavnite
BG s glavnite EN

$kakvo = $_POST['kakvo'];
$redir = '?m=search&type='.$kakvo.'&search='.$search;
header("Location: $redir");
}
?>

Както виждате става дума за търсачка, целта ми е да търси както на
латиница, така и на кирилица, но имам проблем в самия скрипт и не
знам как да го оправя. Като даден потребител потърси да речем
песен с име: Ispulnitel - Pesen, а в базата данни я има самоче
написана на кирилица да излезне резултат. Благодаря 


 
Това мнение е редактирано от Denchov на 21.12.2011 14:18
---------------------------
Потребител в Mytech.bg от: 21.12.11
напиши eMail напиши лично съобщение виж профила на
темата е прекратена! 
Публикувано на: 22.12.2011 09:14
blooddrainer
Ронин

Модератор

Мнения: (406)

Здравей!

Ако в базата данни ти е на кирилица защо в скрипта преобразуваш кирилицата в латиница?

Поздрави!


 
---------------------------
Потребител в Mytech.bg от: 11.05.09

http://www.webxmedia.eu
напиши eMail напиши лично съобщение виж профила на
темата е прекратена! 
Публикувано на: 22.12.2011 11:21
Denchov
Чирак

Мнения: (3)

Незабелязах грешката 10х :). Но ако примерно направя
CODE
1
str_replace($en,$bg,$search);
Ще преобразува латиница на кирилица, и в случая ще намира само кирилица
а на латиница няма да ги извежда. Има ли начин да се направи else{ за да
намира и на латиница?


 
---------------------------
Потребител в Mytech.bg от: 21.12.11
напиши eMail напиши лично съобщение виж профила на
темата е прекратена! 
Публикувано на: 22.12.2011 23:27
blooddrainer
Ронин

Модератор

Мнения: (406)

 Този отговор е маркиран като удовлетворителен!

Защо просто не преобразуваш всичко в латиница и не използваш SOUNDEX на MySQL или FullText Search.

Ето примери за SOUNDEX - http://www.madirish.net/node/85

Поздрави!


 
---------------------------
Потребител в Mytech.bg от: 11.05.09

http://www.webxmedia.eu
напиши eMail напиши лично съобщение виж профила на
темата е прекратена! 
Публикувано на: 23.12.2011 11:12
Denchov
Чирак

Мнения: (3)

Благодаря. Ще пробвам да го направя с SOUNDEX :)


 
---------------------------
Потребител в Mytech.bg от: 21.12.11
напиши eMail напиши лично съобщение виж профила на
темата е прекратена! 
 5 посетители са активни в този форум (0 потребители и 5 гости)  
Активни потребители: ---
   




myTech.bg © 2004 - 2011 | Контакти | За реклама