Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php/txt] skomplikowana wyszukiwarka
alogator
post
Post #1





Grupa: Zarejestrowani
Postów: 158
Pomógł: 0
Dołączył: 13.11.2006
Skąd: Sosnowiec

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


Witajcie!
Zwracam się z prośbą o pomoc.
Chciałbym napisać wyszukiwarkę, ktora wyszukuje w pliku tekstowym wyrażenia i zwraca cały wiersz w którym się ono znajduje.
Wszystko oparte na pliku txt

Struktura jednego wiersza wygląda tak
imie | nazwisko | telefon | mail

Jak dopisać żeby można było określic kryterium wyszukiwania czyli np. imie, nazwisko, tel, mail?

Prosze o wskazówki
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Pilsener
post
Post #2





Grupa: Zarejestrowani
Postów: 1 590
Pomógł: 185
Dołączył: 19.04.2006
Skąd: Gdańsk

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


Znasz w ogóle podstawy PHP?
  1. $uchwyt = fopen($pliczek,'r');
  2. while(!feof($uchwyt)){
  3. $linia = rtrim(fgets($uchwyt));
  4. echo $linia.'<br />';
  5. }
- tak wyświetlasz plik linia po linii, masz wyświetlić tylko te linie, które spełniają określone warunki, żeby to sprawdzić musisz zrobić z linii pliku tablicę:

  1. $uchwyt = fopen($pliczek,'r');
  2. while(!feof($uchwyt)){
  3. $linia = rtrim(fgets($uchwyt));
  4. list($dane['mail'],$dane['nazwisko'],$dane['tutaj_pozostale_tak_jak_leca_w_pliku']) = explode("||",$linia);
  5. }


- teraz w tablicy $dane masz całą linijkę pliku, tablica składa się z elementów, a każdy element to para klucz-wartość. Pozostaje sprawdzić, czy określony fragment tablicy $dane zawiera fragment tablicy $kryteria. Najlepiej zrobić to w pętli foreach:
  1. foreach($kryteria as $klucz => $wartosc){
  2. if(strstr($dane[$klucz],$wartosc)){
  3. //tu co ma zrobić, jeśli znajdzie
  4. }
  5. }
- pętla obróci się tyle razy, ile jest kryteriów szukania (czyli elementów tablicy kryteria) i za każdym obrotem funkcja strstr sprawdzi, czy podany szukany ciąg występuje w tablicy dane pod odpowiednim kluczem.

Wystarczy umieścić to w odpowiednim miejscu pętli i dodać kod, który wykona określoną akcję po znalezieniu pasujących elementów. Poczytaj choć kurs podstawowy PHP, bo inaczej nigdy się nie dogadamy. I dalej nie wiem, czy jeśli kryteria są dwa to ma zwrócić wiersze zawierające oba, czy jedno z tych kryteriów.
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: 30.12.2025 - 05:41