Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] Problem z wyszukiwarką
Forum PHP.pl > Forum > Przedszkole
novak666
Mam taki skrypt wyszukiwarki pobrany z tej strony

Formularz:
Kod
<form action="szukaj.php" method="post" style="display:inline;">
<fieldset style="border:0px;">
<input type="text" name="szukane" style="width:110px;" />
<input type="submit" value="ok" />
</fieldset>
</form>


Skrypt:
Kod
<?php

if($szukane==""){
$szukane="xyz";}
$baza = file("baza.txt");

for ($index=0; $index < count($baza); $index++)
{
$grupa = split("\|", chop($baza[$index]));
$count="0";

if (eregi("$szukane", $baza[$index])) {
$count++;
echo "&raquo; <a href=\"$grupa[0]\">$grupa[1]</a><br />";
}
}
?>


Problem jest taki że gdy w pliku baza.txt dam jakieś słowo zaerające polskie znaki to przykładowo zamiast "ą" pokazuje "š". Próbowałem wstawic do skryptu metataga z kodowaniem ale to niepomogło więc zwracam się do was w jaki sposób można rozwiązac ten problem.

I jeszcze 2 sprawa:
jak zrobic żeby pokazywało po wyszukaniu - jeżeli coś znajdzie
Znaleziono pozycji: 'liczba znalezionych tytułów zawierające ten wyraz'

oraz w przypadku braku znalezienia

Nic nie znaleziono

OK do części już doszedłem co i jak ale niewiem jak zrobic żeby pokazywało po wyszukaniu - jeżeli coś znajdzie

Znaleziono pozycji: 'liczba znalezionych tytułów zawierające ten wyraz'

oraz w przypadku braku znalezienia

Nic nie znaleziono

wyczytałem że trzeba się pobawic ze zmienną #count i znalazłem takie coś:
Kod
if($count>0) echo "Znaleziono pozycji: $count<br><br>";
else echo 'Nic nie znaleziono.';
echo $print;


czyli po wstawianiu skrypt wygląda następująco:
Kod
<?php

if($szukane==""){
$szukane="xyz";}
$baza = file("baza.txt");

for ($index=0; $index < count($baza); $index++)
{
$grupa = split("\|", chop($baza[$index]));
$count="0";

if (eregi("$szukane", $baza[$index])) {
$count++;
echo "&raquo; <a href=\"$grupa[0]\">$grupa[1]</a><br />";
}
}
if($count>0) echo "Znaleziono pozycji: $count<br><br>";
else echo 'Nic nie znaleziono.';
echo $print;
?>


ale coś widze że są nieprawidłowości w wyświetlaniu bo np jak znajdzie 4 frazy to pokazuje ze znalazło 1 jak nic nieznajdzie to pojkazuje ze nic nie znalazło ale jak znowu wyszukam coś to tez pokazuje ze nic nieznalazło. Czy ktoś może mi poprawic kodzik ? smile.gif
sebik
$count wychodzi ci 1 poniewaz zerujesz ja przy kazdym wykonaniu petli, czyli $count=0 powinno byc przed petla for
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.