Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Wyszukiwarka
Gonzo
post
Post #1





Grupa: Zarejestrowani
Postów: 63
Pomógł: 0
Dołączył: 19.08.2003

Ostrzeżenie: (0%)
-----


Szukam gotowego skryptu wyszukiwarki. Mam taką tablicę:

nazwa polska||nazwa oryginalna||nazwa pliku||liczba płyt

Chciałbym wyszukać tytuł filmu. Chodzi mi o 1. lub 2. kolumnę (nie obie razem). Proszę o pomoc doświadczonych programistów.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Gonzo
post
Post #2





Grupa: Zarejestrowani
Postów: 63
Pomógł: 0
Dołączył: 19.08.2003

Ostrzeżenie: (0%)
-----


Oto kod mojego skryptu:

[php:1:8b73e66e20]<?
$szuk = strtolower($szuk);

$trans = array('Ą' => 'ą', 'Ć' => 'ć', 'Ę' => 'ę', 'Ł' => 'ł', 'Ń' => 'ń', 'Ó' => 'ó', 'Ś' => 'ś', 'Ż' => 'ż', 'Ź' => 'ź');
$szuk = strtr($szuk, $trans);
$szuk = explode(' ', $szuk);

for ($liczba_slow=sizeof($szuk); !isset($zn) && $liczba_slow>0; $liczba_slow--)
{
// Wybieramy nastepny wiersz
for ($i=0; $i<sizeof($tablica); $i++)
{
$jest = 0;
$tym = strtolower($tablica[$i][$wg]);

// Wybieramy nastepne slowo
for ($slowo=0; $slowo<sizeof($szuk); $slowo++)
{
// Sprawdzenie, czy slowo znajduje sie w aktualnym elemencie
for ($in=0; $in<=strlen($tablica[$i][$wg]) - strlen($szuk[$slowo]); $in++)
{
if (substr($tym, $in, strlen($szuk[$slowo])) == $szuk[$slowo])
$jest++;
}
}
if ($jest == $liczba_slow) $zn[] = $tablica[$i];
}
}
?>[/php:1:8b73e66e20]

W tej chwili działa on już bardzo dobrze. Ma w sobie jednak błąd. Mianowicie wyszukując któreś słowo ($szuk), robi to dwa razy. Niby mało ważne, ale na przykład wpisując "Człowiek ze" chcemy odnaleźć "Człowiek ze złotym pistoletem", a wyskakuje nam również "Oszukać przeznaczenie", bo ma w sobie dwa razy 'ze'.

Ludzie, pomóżcie :!:
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 18.10.2025 - 07:28