Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] funkcje?
Forum PHP.pl > Forum > Przedszkole
imil
Jak rozwiazac taki problem. Mam sobie 3 linijki kodu:
  1. <?php
  2. $zapytanie = &#092;"SELECT * FROM ilo_plan_lekcje\";
  3.  $wynik_zapytanie = mysql_query($zapytanie);
  4.  $ile = mysql_num_rows($wynik_zapytanie);
  5. ?>

Mam pytanie jak zrobic aby te 3 linijki kodu byly np jakas zmienna ktoraby odpowiadala za to samo co te 3 linijki. Czyli najprawdopodbniej chodzi o funkcje tylko nie wiem jak jej uzyc.
function cos()
{
$zapytanie = "SELECT * FROM ilo_plan_lekcje";
$wynik_zapytanie = mysql_query($zapytanie);
$ile = mysql_num_rows($wynik_zapytanie);
}

tylko ze jak wstawie dalej w kodzie cos(); to to nie dziala jak to wywola , pomozcie
primo
masz przykładową funkcję i odwołanie do niej:

  1. <?php
  2. function opis_filmu()
  3. {
  4.  
  5. global $id;
  6. if($id){
  7. $query=&#092;"select * from filmy where id='$id'\"; 
  8. $result=mysql_query($query);
  9. while ( $row = mysql_fetch_row($result) )
  10. { 
  11. $this_id = $row[0];
  12. $tytul_pl = $row[1];
  13. $tytul_ang = $row[2];
  14. $okladka = $row[4];
  15. $foto=$row[4];
  16. $name=$row[4];
  17. $rezyseria = $row[6];
  18. $dlugosc = $row[3];
  19. $rok_prod = $row[11];
  20. $aktorzy = $row[5];
  21. $recenzja = $row[7];
  22. $recenzja = $row[7];
  23. $recenzja = nl2br($recenzja);
  24. $gatunek = $row[10];
  25. $nosnik_dvd = $row[8];
  26. $nosnik_vhs = $row[9];
  27.  
  28.  
  29. print &#092;"<table border=0 cellpadding=0 cellspacing=3 class=inside>\";
  30. print &#092;"<tr>
  31. <td class=okladka><img src='graphics/okladki/$foto' border='0' ALT='$name'></td>
  32. <td class=opis><div class=daneofilmie>
  33. <p><strong>Tytuł oryginału: </strong> $tytul_ang
  34. <br /><strong>Reżyseria: </strong> $rezyseria
  35. <br /><strong>W rolach głównych: </strong> $aktorzy
  36. <br /><strong>Gatunek: </strong>$gatunek
  37. <br /><strong>Rok produkcji: </strong>$rok_prod
  38. <br /><strong>Mamy to na dvd: </strong>$nosnik_dvd
  39. <br /><strong>Mamy to na vhs: </strong>$nosnik_vhs
  40.  </p></div></td>
  41. </tr>
  42. </table>&#092;";
  43.  
  44. print &#092;"<table border=0 cellpadding=0 cellspacing=3 class=inside>\";
  45. print &#092;"<tr>
  46. <td class=white><h3>&nbsp;Recenzja</h3><div class=recenzja>
  47. <p>&nbsp; $recenzja
  48. </p></div></tr>
  49. </table>&#092;";
  50.  
  51.  
  52.  }
  53.  }
  54.  }
  55.  
  56. ?>



następnie jak w kodzie kliknę link to powyższa funkcja jest zbiornikiem informacji która zaczyna się wykonywać po otrzymaniu w adresie strony numer z filmem id

  1. <?php
  2. opis_filmu();
  3. ?>
imil
Tak samo robilem i nie dzialalo i nie dziala. Czy to ze ta funkcja jest pozniej uzyta w petli odgrywa jakas role??
silent
Możesz to zrobić tak:
  1. <?php
  2. function twoja_funkcja() {
  3. global $zapytanie, $wynik_zapytanie, $ile;
  4. $zapytanie = &#092;"SELECT * FROM ilo_plan_lekcje\";
  5. $wynik_zapytanie = mysql_query($zapytanie);
  6. $ile = mysql_num_rows($wynik_zapytanie);
  7. }
  8. ?>

Ale wtedy po każdym wywołaniu funkcji poprzednie wartości zmiennych zostaną nadpisane nowymi. Generalnie nie polecam tego rozwiązania.

Lepszym rozwiązaniem będzie:
  1. <?php
  2. function twoja_funkcja() {
  3. $zapytanie = &#092;"SELECT * FROM ilo_plan_lekcje\";
  4. $wynik_zapytanie = mysql_query($zapytanie);
  5. $ile = mysql_num_rows($wynik_zapytanie);
  6. return array($zapytanie,$wynik_zapytanie,$ile);
  7. }
  8.  
  9. // potem w skrypcie używasz tak:
  10. list($zapytanie,$wynik_zapytanie,$ile)=twoja_funkcja();
  11.  
  12. ?>

Wtedy masz kontrolę do jakich zmiennych zapisujesz wynik działania funkcji.
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.