Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]laickie pytanie o funkcje ale problem jest
lamcpp
post
Post #1





Grupa: Zarejestrowani
Postów: 372
Pomógł: 2
Dołączył: 10.05.2009

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


witam, mam taki problem, w aplikacji mam masę powtarzającego się kodu
postanowiłem więc że zrobie z tego funkcje i poprostu będę wywoływał ją w miejscu programu gdzie ma nastąpić ten kod.
Więc dodałem do swojego pliku z funkcjami:
  1. function wyswietl_zdj_pag()
  2. {
  3. $number_of_thumbs_in_row = 5;
  4. $num = mysqli_num_rows($wynik);
  5. if(empty($num))
  6. {
  7. echo 'Brak zdjęć do wyświetlenia<br />';
  8. }
  9. else
  10. {
  11. while($res = mysqli_fetch_array($wynik))
  12. {
  13. $jid = $res['id'];
  14. $bierzacy_adres = absolute_url("$jid.jpg");
  15.  
  16. $size = GetImageSize($images_dir."/tb_".$res[2]);
  17. if($size[0] > $size[1])
  18. {
  19. $wyswietlam = "<div id='zdjecie_poz'>";
  20. if($counter == $number_of_thumbs_in_row)
  21. {
  22. $counter = 1;
  23. echo "<br /><br />\n";
  24. }
  25. else
  26. $counter++;
  27. echo $wyswietlam."<a href='".$images_dir."/".$res[2]."' rel='lytebox[vacation]' title='$bierzacy_adres'><img src='".$images_dir."/tb_".$res[2]."' border='0' alt='".$res[1]."' /></a>"."</div>";
  28. }
  29. else if($size[0] < $size[1])
  30. {
  31. $wyswietlam = "<div id='zdjecie_pion'>";
  32. if($counter == $number_of_thumbs_in_row)
  33. {
  34. $counter = 1;
  35. echo "<br /><br />\n";
  36. }
  37. else
  38. $counter++;
  39. echo $wyswietlam."<a href='".$images_dir."/".$res[2]."' rel='lytebox[vacation]' title='$bierzacy_adres'><img src='".$images_dir."/tb_".$res[2]."' border='0' alt='".$res[1]."' /></a>"."</div>";
  40.  
  41. }
  42. }
  43.  
  44. if($ilosc_stron > 1)
  45. {
  46. echo '<br /><span class="pagination">';
  47. $bierzaca_strona = ($start / $strona) + 1;
  48. if($bierzaca_strona != 1)
  49. {
  50. echo '<a href="index.php?s='.($start - $strona).'&p='.$ilosc_stron.'">Poprzednia</a>';
  51. }
  52. for($i=1; $i<=$ilosc_stron; $i++)
  53. {
  54. if($i != $bierzaca_strona)
  55. {
  56. echo '<a href="index.php?s='.(($strona * ($i-1))).'&p='.$ilosc_stron.'">'.$i.'</a>';
  57. }
  58. else
  59. {
  60. echo $i.' ';
  61. }
  62. }
  63. if($bierzaca_strona != $ilosc_stron)
  64. {
  65. echo '<a href="index.php?s='.($start+$strona).'&p='.$pages.'">Następna</a></span>';
  66. }
  67. }
  68. }
  69. }

i teraz chce to wyświetlić w dowolnym miejscu na stronie, wywołuje więc funkcje po nazwie pisząc:
  1. wyswietl_zdj_pag()

Jednak zamiast dodać kod funkcji to wyskakuje mi błąd, tak jakby kod funkcji wogóle nie został dodany do programu.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
marcio
post
Post #2





Grupa: Zarejestrowani
Postów: 2 291
Pomógł: 156
Dołączył: 23.09.2007
Skąd: ITALY-MILAN

Ostrzeżenie: (10%)
X----


Nie patrzylem na funkcje ale przy wywolaniu funkcji brakuje ci ;
Go to the top of the page
+Quote Post
lamcpp
post
Post #3





Grupa: Zarejestrowani
Postów: 372
Pomógł: 2
Dołączył: 10.05.2009

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


średnik był(IMG:style_emoticons/default/smile.gif)
chodzi mi bardziej o to czy można tak wywoływać funkcje, która moim zdaniem z założenia powinna pobierać jakieś argumenty(choć tego akurat nie musi) ale powinna zwracać jakąś wartość, a u mnie to jest sam tekst.
Póki co doraznie wrzuciłem go do nowego pliku i dodałem za pomocą include i wszytko jest ok, ale jak próbuje dodać ten tekst do funkcji to tak jakby php go ignorował.
W innych językach był podział na funkcje i procedury i jakoś tak moim zdaniem przejrzyściej było,
wsumie wydaje mi się, że pliki z samym tekstem dodaje się własnie za pomocą np include, ale jesli coś bedzie zmieniało sie w tym tekscie np. polecenie SQL to przesłać jako argument, tylko tak jak mówie, jakoś to nie działa za dobrze.
Czy funkcja w PHP musi zwracać jakąś wartość?
Go to the top of the page
+Quote Post
marcio
post
Post #4





Grupa: Zarejestrowani
Postów: 2 291
Pomógł: 156
Dołączył: 23.09.2007
Skąd: ITALY-MILAN

Ostrzeżenie: (10%)
X----


Nie rozumiem w czym problem funkcja dziala czy nie jak nie pokaz blad.




Cytat
Czy funkcja w PHP musi zwracać jakąś wartość?


Nie nie musi to zalezy od ciebie i co ma robic funckja jednak wedlug mnie najlepiej jest zwracac wartosci wtedy chce je wyswietlic dajesz echo()/print(), chcesz zapisac podajesz wynik funkcji innej funkcji a jak masz echo to nic nie zrobisz.

Go to the top of the page
+Quote Post
piotr94
post
Post #5





Grupa: Zarejestrowani
Postów: 331
Pomógł: 30
Dołączył: 11.11.2008
Skąd: Kraków

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


pewnie problem tkwi w zmiennych, na początku funkcji mususz dać wszystkie zmienne (takie jak połączenie z bazą danych, storna, ...) jako global $zmienna;
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 14:48