Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Blad w warunku
Forum PHP.pl > Forum > Przedszkole
Bojakki
Mma taka funkcje:

  1. <?php
  2. //Funkcja
  3. function ile($platforma_gry, $nazwa_gry){
  4. $staly_katalog="baza";
  5. $kat_plat=strtolower(konkatenuj($platforma_gry));
  6. $nazwa_gry=id_gry($nazwa_gry);
  7. $nazwa_kat=konkatenuj($nazwa_gry);
  8.  
  9. $katalog = "$staly_katalog/$kat_plat";
  10. $katalog = "$katalog/$nazwa_kat/galeria/";
  11.  
  12. $dir=opendir($katalog);
  13. $i=0;
  14. while($file_name=readdir($dir))
  15. {
  16. if(($file_name!=".")&&($file_name!="..")&&($file_name!="mini"))
  17. {
  18. $i++;
  19. }
  20. if( $i > 0 )
  21. {
  22.  echo 'OK';
  23.  }
  24.  else
  25.  {
  26.  echo 'NIE OK';
  27. }
  28. }
  29. closedir($dir);
  30. return $i;
  31. }
  32. ?>


Funkcja ta ma za zadanie zliczac ilosc screenow w galerii i wypisywanie odpowiedniego komunikatu gdy jest ich wiecej lub mniej niz 0

Wszystko dziala parwidlowo procz tego, ze owy komunikat powtarza 3 razy plus tyle ile jest obrazkow galerii. Jezeli jest np. 5 obrazkow to komunikat "ok" pojawia sie 8 razy itd. Ja chce by pokazal sie tylko raz. Jak to zrobic? Zanzaczam, ze jestem bardzo poczatkujacy.
gam3r
z tego co rozumiem, to chcesz poprostu na końcu strony wyświetlić takie małe podsumowanie? jezeli tak to masz tutaj blad logiczny - tzn. kod nie odpowiada temu co chciałbyś pokazać.
mianowicie: jeżeli masz w tym folderze 5 plików to pętla przechodzi 8 razy bo masz jeszcze powrót do wyższego katalogu .... itd. (warunek sprawdzenia tego napisałeś smile.gif
  1. <?php
  2. if(($file_name!=".")&&($file_name!="..")&&($file_name!="mini"))
  3. ?>

plus te 5 właściwych plikow ktore sie w tym folderze znajdują. No i jeżeli masz w tym przypadku 8 razy wypisany komunikat tzn. ze za kazdą iteracją wyświetla ci czy jest 'ok' albo 'nie ok'. A powinieneś wypisywać rezultat poza pętlą while, tak więc w pętli tylko zliczasz ile jest 'ok' a ile 'nie ok' i po zakonczeniu jej dzialania wyswietlasz wynik.
Ja bym to zrobił tak:

  1. <?php
  2. //Funkcja
  3. function ile($platforma_gry, $nazwa_gry){
  4. $staly_katalog="baza";
  5. $kat_plat=strtolower(konkatenuj($platforma_gry));
  6. $nazwa_gry=id_gry($nazwa_gry);
  7. $nazwa_kat=konkatenuj($nazwa_gry);
  8.  
  9. $katalog = "$staly_katalog/$kat_plat";
  10. $katalog = "$katalog/$nazwa_kat/galeria/";
  11.  
  12. $dir=opendir($katalog);
  13. $i=0;
  14.  
  15. while($file_name=readdir($dir))
  16. {
  17. if(($file_name!=".")&&($file_name!="..")&&($file_name!="mini"))
  18. {
  19. $i++;
  20. }
  21.  
  22. }
  23.  
  24.  
  25.  
  26.  if( $i > 0 )
  27. {
  28.  echo 'OK';
  29.  }
  30.  else
  31.  {
  32.  echo 'NIE OK';
  33.  }
  34.  
  35. closedir($dir);
  36. return $i;
  37. }
  38. ?>

czyli warunek:
  1. <?php
  2.  if( $i > 0 )
  3. {
  4.  echo 'OK';
  5.  }
  6.  else
  7.  {
  8.  echo 'NIE OK';
  9.  }
  10. ?>

musisz dać na sam koniec funkcji, poza pętlą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.