Проверка съвпадение!

luudman

Registered
Значи как може да се направи:
Вкарвам във едно поле:
"риболоф"(нарочно със "ф")
и търси си из MySQL и намира подобни думи, но избира тази която съвпада 90% със думата "риболоф", тоест "риболов". И как да направя сравнението и процентите съвпадналост?
 
нестава така лесно още по малко да тарси проценти
като цяло алгоритама ще е сложен можеби с регулярни изрази ще стане, наи лесно или може да ползваш "_" в sql която замества 1 символ.
 
_ съответства на 1 знак от търсената дума
примерно WHERE kola='_mw'
ще ти намери всички думи които са BMW, CMW, KSW но не и BBMW сещаш се ;) правиш си алгоритам които да проверява колко знака да ти замества с _
и после правиш заявка от вида
WHERE kola LIKE '_mw' or kola LIKE 'b_w' or kola LIKE 'bm_'
примерно ако искаш да е 90% това значи че ще имаш само 1 долна черта на думи до 10 букви когато ще трябва да ти тарси по сложни думи с 2 долни черти става по сложен алгоритама.
Може да има и вариант с регулярни изрази потърси се из нета ;) даже по късно ще вида дали няма нещо.
 
мда както каза муте става ето ти едно примерче :]
Код:
<?php
include ("inc/config.php");
$user = "dqdomraz";
$sql = mysql_query("SELECT username FROM i_users WHERE username = '$user' limit 1");
if(mysql_num_rows($sql) == 0) {

for($i=0;$i<=strlen($user);$i++){
$r = substr($user,$i,1);
$search .=  "username='".str_replace($r,"_",$user)."' ";
if($i != strlen($user)){
$search .= 'OR ';
}
}
$sql = mysql_query("SELECT username FROM i_users WHERE $search");
}
$r = mysql_fetch_array($sql);
echo $r['username'];
?>
 
Ето какво измислих:
<?php
function get_all($get)
{
$num_get = strlen($get);
echo $get;
for($i=0; $i<=$num_get; $i++)
{
echo substr($get, 0, -$i)."<br>";
}
return;
}
get_all('Hello');

?>

Сега останаха само Процентите!
ЕДИТ:// Опаа...... Ще трябва да направя това за всички букви! трябва една по една да премахвам буквите и какво казахте вие да направя нещо със "_" долната черта!
 

Back
Горе