Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php] Problem z wyszukiwarką, Potrzebuje małej pomocy
novak666
post 9.01.2007, 15:38:48
Post #1





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 20.09.2005

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


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

Ten post edytował novak666 8.01.2007, 12:44:43
Go to the top of the page
+Quote Post
sebik
post 9.01.2007, 18:37:09
Post #2





Grupa: Zarejestrowani
Postów: 44
Pomógł: 0
Dołączył: 4.01.2007

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


$count wychodzi ci 1 poniewaz zerujesz ja przy kazdym wykonaniu petli, czyli $count=0 powinno byc przed petla for
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 19.08.2025 - 00:22