Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Zliczanie kliknięć
Forum PHP.pl > Forum > Przedszkole
Gość_Janek
Witam!

Mam na stronie dział z grami. Na samym początku jest formularz z przyciskami radio na którym wybiera się grę, no i jak się już wybierze to do adresu dopisuje się "gry.php?co=nazwagry" No i teraz chcę zrobić nie uzywając bazy danych (tylko pliki tekstowe) zeby ten formularz sortował się według najpopolarniejszych gier. Ogolnie trzeba wlasnie zrobic cos w stylu zliczania kliknięc, tylko nie wiem jak to zrobic, wiec moze ktos z Was bedzie mogl pomoc smile.gif

Pozdrawiam
SongoQ
Mozesz zapisywac do pliku w ten sposob:

nazwa_gry|ilosc_klikniec
nazwa_gry|ilosc_klikniec
nazwa_gry|ilosc_klikniec


Odczytujesz ladujesz do tablicy dodajesz, sortujesz, itd.... i zapisujesz.
Gość_Janek
Mecze się z tym, a to caly czas nie dziala - nie wiem czemu do pliku zawsze na samym początku dopisuje się Array sad.gif Moze Wy znajdziecie co tu poprawic:

  1. <?php
  2. if(!($fp = fopen('./counter2.txt', 'r+')))
  3. die(&#092;"Nie można wczytać tekstu!\");
  4. while (!feof ($fp)) {
  5. $counter .= fgets($fp, 1024);
  6. }
  7. $all = explode('|', $counter);
  8. for($i=0; $i<count($all); $i++){
  9. if($all[$i] == '')break;
  10. $gry1[] = $all[$i];
  11. $i++;
  12. }
  13. for($i=1; $i<count($all); $i++){
  14. if($all[$i] == '')break;
  15. $ile[] = $all[$i];
  16. $i++;
  17. }
  18. if(!isset($submit)){
  19. echo&#092;"<form action=\"$PHP_SELF\" method=\"get\"><table><tr><td>\";
  20. for($i=0; $i<count($gry1); $i++){
  21. echo &#092;"<p><input type=\"radio\" name=\"co\" value=\"$gry1 [$i]\"> gra $i</p>\";
  22. }
  23. echo &#092;"<p><input type=\"submit\" name=\"submit\" value=\"Wybierz!\"></p>\";
  24. echo &#092;"</form></td></tr></table>\";
  25. }
  26. else{
  27. echo &#092;"<table border=\"1\"><tr><td>\";
  28. if($co=='gra1') {
  29. $ile[0] = $ile[0] +1;
  30. ?>
  31. kod z gra 1
  32. <?php
  33.  }
  34.  elseif($co=='gra2'){
  35.  ...
  36. }
  37.  ...  // tutaj reszta gier
  38.  
  39.  
  40. echo &#092;"</td></tr></table>\";
  41. if(!($fp = fopen('./counter2.txt', 'w+')))
  42. die(&#092;"Nie można zapisać tekstu!\");
  43. for($i=0; $i<count($gry1); $i++){
  44. $all .= $gry1[$i].&#092;"|\";
  45. $all .= $ile[$i].&#092;"|\";
  46. }
  47. fwrite($fp, $all);
  48. fclose($fp);
  49. }
SongoQ
Zanim zaczniesz petle dodawnia do zmennej all i potem zapis do pliku ustaw zmienna $all = '';

A przed zapisem do pliku wywal echo $all
Gość_Janek
Dzieki, teraz dziala. Ale jest następny problem, jak tutaj posortować to wszystko, zeby zachować relację między grą, a ilością kliknięc??
SongoQ
Jak odczytujesz to zrob tablice 2 wymiarowa a nastepnie posortuj po tablicy wielowymiarowej.
Gość_Janek
Jakbys mogl to napisz mi kod do wczytywania do tablicy wielowymiarowej z pliku, bo ja sie niestety z tym jeszcze nie spotkalem...

Z gory dzieki 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.