![]() |
![]() |
![]()
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. |
|
|
![]() |
![]()
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 :!: |
|
|
![]() ![]() |
![]() |
Aktualny czas: 18.10.2025 - 07:28 |