Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php/txt]Szukaj...
Forum PHP.pl > Forum > Przedszkole
szmerak
Mam tutaj fajny skrypcik na serwis z filmikami tylko że nie wiem jak zrobić opcję szukaj...
  1. <?
  2. $filmiki = file("file.txt");
  3. foreach($filmiki as $filmy)
  4. {
  5. if($_GET['zobacz'] == ""){
  6. $podziel = explode("|", $filmy);
  7. $numer = $podziel[0];
  8. echo '<a href="?zobacz='.$numer.'">'.$podziel[1].'</a><br>';
  9. }
  10. for($x=0; $x<1; $x++){
  11. $podziel = explode("|", $filmy);
  12. $akcja = $podziel[0];
  13. if($_GET['zobacz'] == "$akcja"){
  14. echo 'Nazwa: '.$podziel[1].'<br>'.$podziel[2].'';
  15. }
  16. }
  17. }
  18. ?>

Tutaj kawałek kodu file.txt
  1. 1|Wypadek Kubicy|<object width="425" height="350"><param name="movie" value="http://www.youtube.com/v/-H7ozuGeIVw"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/-H7ozuGeIVw" type="application/x-shockwave-flash" wmode="transparent" width="425" height="350"></embed></object>
  2. 2|Wypadek Kubicy GP Kanady|<object width="425" height="350"><param name="movie" value="http://www.youtube.com/v/KPMkEMErAPE"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/KPMkEMErAPE" type="application/x-shockwave-flash" wmode="transparent" width="425" height="350"></embed></object>
  3. 3|Wypadek Kubicy asd|<object width="425" height="350"><param name="movie" value="http://www.youtube.com/v/KPMkEMErAPE"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/KPMkEMErAPE" type="application/x-shockwave-flash" wmode="transparent" width="425" height="350"></embed></object>
Speedy
Spróbuj pokombinować z tablicami. Może przyda Ci się funkcja strstr" title="Zobacz w manualu PHP" target="_manual winksmiley.jpg.
szmerak
Hmm może jakaś podpowiedź? gdzie szukać dokładniej jakich funkcji i jak....

Mam jeszcze jedną prośbę
to jest plik admin.php

zmienna $zw ma wartość poprzednią + 1 a jak zrobic aby wczytywał tylko ostatnią? czyli z samej góry?
  1. <?
  2. if($_GET['akcja'] == "")
  3. {
  4. $file = file("file.txt");
  5. foreach($file as $video)
  6. {
  7. $podziel = explode("|", $video);
  8. $zw = ''. $podziel[0]+1 .'';
  9. echo $zw;
  10. }
  11. echo '<form action=?akcja=dodaj method=POST>
  12. Nazwa: <input type=text name=nazwa><br>
  13. Treść: <textarea cols=30 rows=5 name=embed></textarea><br>
  14. Numer: <input type=text name=numer>
  15. <input type=submit value=DODAJ>
  16. </form>';
  17.  
  18. }
  19. if($_GET['akcja'] == "dodaj"){
  20. $nazwa = $_POST['nazwa'];
  21. $tresc = $_POST['embed'];
  22. $numer = $_POST['numer'];
  23. if($nazwa && $tresc && $numer)
  24. {
  25. $tresc = stripslashes($tresc);
  26. $dane = "$numer|$nazwa|$tresc"."n";
  27. $file="file.txt";
  28. $fp=fopen("$file", "r+");
  29. $dane=$dane.fread($fp, filesize($file));
  30. rewind($fp);
  31. flock($fp, 2);
  32. $wpis=fwrite($fp, $dane);
  33. flock($fp, 3);
  34. fclose($fp);
  35. }
  36. }
  37.  
  38. {
  39.  
  40. }
  41. ?>
nexis
Tutaj aż kłania się baza danych! Nie potrafisz się nią posługiwać czy nie masz do takowej dostępu?
Speedy
Miałem trochę czasu i stwierdziłem, że będę dobry.

Pisałem wcześniej, że wystarczy umieć obsługiwać tablice i wykorzystać funkcję strstr" title="Zobacz w manualu PHP" target="_manual, która służy do wyszukiwania fragmentu tekstu w innym tekście. Ponadto, przydaje się się funkcja strtolower" title="Zobacz w manualu PHP" target="_manual, która zamienia wszystkie litery w danym ciągu na małe, dzięki czemu można wyszukiwać tekst pomijając wielkość liter.

Wystarczyła choć odrobina kreatywności!

Oto kod, który szuka frazy:

  1. <?php
  2.  
  3. $f = file('file.txt');
  4.  
  5. $wyniki = array();
  6.  
  7. if($_GET['szukaj'] <> '')
  8. {
  9.  
  10. // szukanie frazy
  11.  
  12. foreach($f as $filmy)
  13. {
  14. $jedenFilm = explode('|',$filmy);
  15.  
  16. if(strstr(strtolower($jedenFilm[1]),strtolower($_GET['szukaj'])))
  17. {
  18. $wyniki[] = $jedenFilm;
  19. }
  20.  
  21. }
  22.  
  23. // wyświetlanie wyników wyszukiwania
  24.  
  25. $liczbaWynikow = count($wyniki);
  26.  
  27. echo 'Znaleziono '.$liczbaWynikow.' pasujących wyników.<br/><br/>';
  28.  
  29.  foreach($wyniki as $znalezioneFilmy)
  30. {
  31. echo '<a href="plik.php?zobacz='.$znalezioneFilmy[0].'">'.$znalezioneFilmy[1].'</a><br/>';
  32. }
  33.  
  34. }
  35.  
  36. ?>


Teraz wystarczy w przeglądarce wstawić np. plik.php?szukaj=costam
szmerak
Dziękuje ci bardzo działa smile.gif w 100% smile.gif)
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.