Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [HTML][PHP]Wyszukiwanie w pliku tekstowym
iNq0
post 6.02.2011, 16:04:06
Post #1





Grupa: Zarejestrowani
Postów: 35
Pomógł: 0
Dołączył: 3.02.2011

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


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.


Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 8)
Daiquiri
post 6.02.2011, 16:13:09
Post #2





Grupa: Administratorzy
Postów: 1 552
Pomógł: 211
Dołączył: 7.07.2009
Skąd: NJ




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.
Go to the top of the page
+Quote Post
iNq0
post 6.02.2011, 16:20:42
Post #3





Grupa: Zarejestrowani
Postów: 35
Pomógł: 0
Dołączył: 3.02.2011

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


konkretnie, to właśnie chodzi o wyświetlenie linii ze słowem które wcześniej zostało podane.
Go to the top of the page
+Quote Post
Daiquiri
post 6.02.2011, 16:37:01
Post #4





Grupa: Administratorzy
Postów: 1 552
Pomógł: 211
Dołączył: 7.07.2009
Skąd: NJ




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
Powód edycji: [Daiquiri]:
Go to the top of the page
+Quote Post
iNq0
post 6.02.2011, 16:46:39
Post #5





Grupa: Zarejestrowani
Postów: 35
Pomógł: 0
Dołączył: 3.02.2011

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


ehh.. nie wiem jak się z tym uporać :|
Go to the top of the page
+Quote Post
Daiquiri
post 6.02.2011, 17:00:39
Post #6





Grupa: Administratorzy
Postów: 1 552
Pomógł: 211
Dołączył: 7.07.2009
Skąd: NJ




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.
Powód edycji: [Daiquiri]:
Go to the top of the page
+Quote Post
iNq0
post 14.02.2011, 16:25:44
Post #7





Grupa: Zarejestrowani
Postów: 35
Pomógł: 0
Dołączył: 3.02.2011

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


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..
Go to the top of the page
+Quote Post
_Borys_
post 14.02.2011, 19:04:48
Post #8





Grupa: Zarejestrowani
Postów: 587
Pomógł: 190
Dołączył: 5.02.2011
Skąd: 64-800

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


  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
Go to the top of the page
+Quote Post
iNq0
post 14.02.2011, 19:43:32
Post #9





Grupa: Zarejestrowani
Postów: 35
Pomógł: 0
Dołączył: 3.02.2011

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


thx, jesteś mistrzu <3
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 Wersja Lo-Fi Aktualny czas: 24.07.2025 - 14:31