Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [HTML][PHP]Wyszukiwanie w pliku tekstowym
Forum PHP.pl > Forum > Przedszkole
iNq0
witam serdecznie : )

chcę zrobić 'wyszukiwarkę'

po wpisaniu słowa, przykładowo 'koło'

wyświetli całą linijkę, gdzie znajduje się słowo. oczywiście słowa będą zapisane w pliku tekstowym ( np. slowa.txt)

np:


szukane koło

wynik: koło | trójkąt | kwadrat


szukane mama

wynik: tata | mama | dom

i tak dalej.


okno wyszukiwania już napisałem..

  1. <title>Tytuł</title>
  2. <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-2">
  3. </head>
  4.  
  5. <form action="search.php" method="post">
  6. Wpisz szukane słowo (np. kopiuj):
  7. <br>
  8. <input type="text" name="phrase" />
  9. <br>
  10. <input type="submit" value="Szukaj" />
  11. <input type="reset" value="Wyczyść" />
  12. </form>
  13.  
  14. </html>


zostanie ono jeszcze wyposażone w elementy graficzne, na razie chodzi o to, by działało.

teraz muszę zrobić plik search.php tak jak opisałem wyżej.


Daiquiri
Ok, ale w czym konkretnie masz problem? Wszystko zależy od tego, co chcesz dalej robić z tymi danymi, jak dużo ich jest i jak jest zbudowany Twój plik z danymi itd. Możesz pobierać ciągi linia po linii i w nich szukać swojego słowa kluczowego. Tutaj jest cała lista różnych funkcji związanych z operacjami na plikch.
iNq0
konkretnie, to właśnie chodzi o wyświetlenie linii ze słowem które wcześniej zostało podane.
Daiquiri
Jeżeli oczekujesz gotowego skryptu - to piszesz nie w tym dziale. Jeżeli chcesz walczyć ze skryptem sam to konkretnym pytaniem jest np. Jak wczytać zawartość pliku czy jak sprawdzić czy dany wyraz występuje w ciągu itd. Musisz "rozbić" kwestię wyświetlania linii ze słowem, które zostało podane na podpunkty, np.:
1. Otwarcie pliku
2. Wczytywanie danych z pliku linia po linii
3. Szukanie wyrazu w ciągu
4. Warunek: jeżeli wyraz się znalazł:
4.1 Jeżei tak: wyświetlamy linię
4.2 Jeżeli nie wczytujemy dalej
iNq0
ehh.. nie wiem jak się z tym uporać :|
Daiquiri
Po raz ostatni iNq0 - domyślam się, że nie wiesz jak się z tym uporać. Jeżeli chcesz gotowca, mogę przenieść Twój temat do innego działu i nadać mu tag [wolontariat]. Jeżeli chcesz skrypt pisać samodzielnie skorzystaj z podanego przeze mnie linka do funkcji i zacznij realizować zadania punkt po punkcie. Jak natrafisz na problem - pisz na forum.

Zdecyduj się jak ma wyglądać nasza "pomoc". Chcesz pomocy przy pisaniu, przy znalezieniu skryptu czy kogoś kto to zrobi za Ciebie.
iNq0
dobra ... napisałem takie coś :
  1. <?php
  2.  
  3. $_POST['slowo']=trim($_POST['slowo']);
  4. $plik = 'slowa.txt';
  5. $file = file($plik);
  6. $i = 0;
  7. $count = count($file);
  8. while($i++<$count)
  9. {
  10. if(strpos($file[$i],$_POST['phrase']=trim($_POST['phrase']) ))
  11. {
  12. echo $file[$i];
  13. break 2;
  14. }
  15. }
  16. ?>


ale to nie działa -.- jak to naprawić?


refresh..
_Borys_
  1. <?php
  2. $slowo = trim($_POST['phrase']);
  3. $file = file('slowa.txt');
  4. foreach ($file as $linia)
  5. {
  6. if (strpos($linia, $slowo) !== false)
  7. {
  8. echo $linia . '<br>';
  9. }
  10. }
  11. ?>

Kurs PHP wink.gif
iNq0
thx, jesteś mistrzu <3
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.