Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Wyszukiwarka tekstowa pokazuje jeden wynik
Forum PHP.pl > Forum > Przedszkole
Pawelelo520
Witam,
Mam problem ze skryptem php wyszukiwarki :
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  2. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  3. <html xmlns="http://www.w3.org/1999/xhtml">
  4. <title><?php if(isSet($fraza) && $fraza != ""){ ?>Wyniki wyszukiwania<?php }else{ ?>index<?php } ?> - Twoja strona</title>
  5. <link rel="stylesheet" type="text/css" href="css/style.css" />
  6. <meta http-equiv="content-type" content="text/html;charset=utf-8" />
  7. <style type="text/css">
  8. #scroll {display:block; top:10px; left:auto; width:auto; position:fixed; border:0px solid #888; padding:10px; text-align:center; font-weight:bold; color:#000000; background-color:#ffffff;}
  9. </style>
  10. </head>
  11.  
  12. <div id="index">
  13. <div id="index-form">

  1. <?php
  2. //Otrzymujemy dane
  3. $sortowanie = $_POST['sortowanie'];
  4. $fraza = $_POST['fraza'];
  5. //Formularz - php i xhtml
  6. echo '<form method="post" action="index.php">'
  7. .'<p><input type="text" value="'.$fraza.'" name="fraza" />'
  8.  
  9. .' &nbsp;<input type="submit" value="Szukaj"/></p>'
  10. .'</form></div>';
  11.  
  12.  
  13. //Sortowanie danych z tablicy
  14.  
  15. if (isSet($fraza) && $fraza != ""){
  16. if ($sortowanie == 1){
  17. natsort($bazadanych);
  18. $sortujemy = "rosnšco";
  19. }else{
  20. arsort($bazadanych);
  21. $sortujemy = "malejšco";
  22. }
  23. //Nasza bazadanych - inaczej baza danych
  24. $bazadanych = array(
  25. 'firmie,nasza,naszej,firma,historia,historię,cennik,ceny' => '<a href="o-firmie.html" title="PrzejdŸ na podstronę: o firmie">O firmie</a> - zobacz jak rozwijała się nasza firma',
  26.  
  27. 'mapa,dojazdu,mapka,dojazd,kontakt' => '<a href="mapa-dojazdu.html" title="PrzejdŸ na podstronę: mapa dojazdu">Mapa dojazdu</a> - nie wiesz jak do nas przyjechać?',
  28.  
  29. 'kontakt,formularz,kontaktowy,mapa,mapka,dojazdu,dojazd' => '<a href="kontakt.html" title="PrzejdŸ na podstronę: kontakt">Kontakt</a> - w razie problemów prosimy o kontakt',
  30.  
  31. 'cennik,cenniki,zapłata,ketchup,ceny,o firmie,firma' => '<a href="cennik.html" title="PrzejdŸ na podstronę: cennik">Cennik</a> - koniecznie zobacz nasz cennik',
  32.  
  33. 'snikers,zupka chińska,zupka,ketchup,zapłata,koszty,ceny,o firmie,firma' => '<a href="http://kutno.net.pl" title="PrzejdŸ na podstronę:">Sklep0</a> - opis sklepu<img src="http://www.makro.pl/public/site/makro-pl/get/290276/aro.jpg"> </img>',
  34. 'snikers,zupka chińska,zupka,ketchup,zapłata,koszty,ceny,o firmie,firma' => '<a href="http://kutno.net.pl" title="PrzejdŸ na podstronę:">Sklep1</a> - opis sklepu<img src="http://www.makro.pl/public/site/makro-pl/get/290276/aro.jpg"></img>',
  35. 'snikers,zupka chińska,zupka,ketchup,zapłata,koszty,ceny,o firmie,firma' => '<a href="http://kutno.net.pl" title="PrzejdŸ na podstronę:">ŻABKA2</a> - opis sklepu<img src="http://taniechlanie.pl/media/photos/zabka-logo_1.jpg"> </img>',
  36. 'snikers,zupka chińska,zupka,ketchup,zapłata,koszty,ceny,o firmie,firma' => '<a href="http://kutno.net.pl" title="PrzejdŸ na podstronę:">Sklep3</a> - opis sklepu<img src="http://www.makro.pl/public/site/makro-pl/get/290276/aro.jpg"></img>',
  37. 'snikers,zupka chińska,zupka,ketchup,zapłata,koszty,ceny,o firmie,firma' => '<a href="http://kutno.net.pl" title="PrzejdŸ na podstronę:">Sklep4</a> - opis sklepu<img src="http://www.makro.pl/public/site/makro-pl/get/290276/aro.jpg"></img>',
  38. 'snikers,zupka chińska,zupka,ketchup,zapłata,koszty,ceny,o firmie,firma' => '<a href="http://kutno.net.pl" title="PrzejdŸ na podstronę:">Sklep4</a> - opis sklepu<img src="http://www.makro.pl/public/site/makro-pl/get/290276/aro.jpg"></img>',
  39. );
  40.  
  41. //Wyœwietlamy informację o wprowadzonych danych
  42. echo "<div id='scroll'><div id='index-wynik'>Poszukiwana fraza: ".$fraza.". Sortowanie: ".$sortujemy.".</div></div>n<ol>n";
  43.  
  44. //Wyœwietlamy wynik wyszukiwania - linki oraz opis
  45. foreach ($bazadanych as $wyraz => $adres){
  46. if (@eregi(quotemeta($fraza), $wyraz)){
  47. echo "<li>".$adres."</li>n";
  48. $bl = true;
  49. }}
  50.  
  51. //Lub w przypadku braku - informujemy użytkownika o nie znalezieniu danych
  52. if (!$bl){
  53. echo '<li class="index-wynik-brak"><b>Nie znaleziono</b></li><li class="index-wynik-brak">Niestety nie udało nam się odnaleŸć wyniku, który mógłby spełnić Twoje kryteria wyszukiwania. Spróbuj ponownie.</li>';
  54. }}
  55.  
  56. //Koniec - kod jest zgodny ze standardami W3C
  57. ?>
  1. </ol>
  2. </div>
  3. </body>
  4. </html>

PROBLEM:
Skrypt po wpisaniu np: snikers pokazuje tylko wynik dla Sklep4 ,a powinien pokazywać wszystkie wyniki ,które zawierają tekst "snikers".

Proszę o pomoc jak napawić ten błąd.


Demo skrytpu:
---klik---
nospor
zrob
print_r($bazadanych);
a moze doznasz olsnienia bezsensownosci tego kodu...

ps: a jesli nie doznasz olsnienia, to poczytaj podstawy w manualu odnosnie tablic i doczytaj, czy w tablicy moze istniec kilka identycznych indeksow.
Pawelelo520
Cytat(nospor @ 5.04.2014, 12:47:12 ) *
zrob
print_r($bazadanych);
a moze doznasz olsnienia bezsensownosci tego kodu...

ps: a jesli nie doznasz olsnienia, to poczytaj podstawy w manualu odnosnie tablic i doczytaj, czy w tablicy moze istniec kilka identycznych indeksow.

Takie komentarze pozostaw dla siebie...

Nie umiem PHP dlatego proszę o pomoc.
Twoja pomoc jest zbędna dla mnie bo nic z niej nie rozumiem.

Turson
Zbędna skoro nie wiesz co to tablica i nie raczysz przejrzeć manuala?
Pawelelo520
Cytat(Turson @ 5.04.2014, 14:14:39 ) *
Zbędna skoro nie wiesz co to tablica i nie raczysz przejrzeć manuala?

Cytat
Proszę o pomoc jak naprawić ten błąd.


Proszę o ty by ktoś podpowiedział mi jak to zrobić ,a nie na zasadzie:
poczytaj to się dowiesz.

Jakby ktoś kogoś postrzelił, to byś dał mu książkę i powiedział :
masz poczytaj sobie jak zatamować krwawienie . ?
ZaXaZ
Cytat(Pawelelo520 @ 5.04.2014, 14:32:43 ) *
Proszę o ty by ktoś podpowiedział mi jak to zrobić ,a nie na zasadzie:
poczytaj to się dowiesz.

Jakby ktoś kogoś postrzelił, to byś dał mu książkę i powiedział :
masz poczytaj sobie jak zatamować krwawienie . ?


nie isSet tylko isset ... a co do tego co pisales w tym co cytuje; takiej sytuacji nie masz raczej a inni też potrzebują pomocy, nie prawda? poza tym pomoc masz żeby zajrzeć do manuala... a tak poza tym ten skrypt może być szybszy chyba o połowę... poczytaj o różnicy między ' a " w php.
nospor
@Pawelelo520 podalem ci konkretną pomoc. Napisalem bys zrobil
print_r($bazadanych);
a sam sie przekonasz w czym problem.
Dodatkowo wskazalem ci na co masz zwrocic szczegolną uwage.
Ale skoro nie chcesz to nie. Gdy wyrazisz chec wspolpracy, zapraszam na PW

Cytat
a tak poza tym ten skrypt może być szybszy chyba o połowę... poczytaj o różnicy między ' a " w php.

Bez zartow.... uzywanie ' zamiast " w zaden sposob nie przyspieszy skryptu o polowe.

edit: po rozmowie na PW otwieram
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.