Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php][MySQL] Problem z funkcją.
Forum PHP.pl > Forum > Przedszkole
Divinity
Napisałem funkcję, która liczy średnią wartości zawartych w tablicy. Niestety nie działa ona poprawnie. Ponadto samo wywoływanie funkcji nie działa i mam tylko puste pole. Czy mógłby mi ktoś pomóc? Z góry dziękuje.

  1. <?php
  2. $sql=mysql_connect($db_host, $db_user, $db_pass); 
  3. mysql_select_db($db_name, $sql);
  4.  
  5. $zapytanie2 = "SELECT * FROM glowna WHERE lp=$id";
  6. $wykonaj2 = mysql_db_query($db_name, $zapytanie2, $sql);
  7. $tablica = mysql_fetch_array($wykonaj2);
  8.  
  9. function wylicz_srednia($przedmiot)
  10. {
  11. $tablica2=explode(',',$tablica[$przedmiot]);
  12. $ilosc=count($tablica2);
  13. $srednia=array_sum($tablica2)/$ilosc;
  14. echo $srednia;
  15. }
  16.  
  17. echo "<b>".$tablica['imie']." ".$tablica['nazwisko']. "</b>";
  18. echo "<br><br>";
  19. echo "<table border='1' cellspacing='0' cellpadding='0' bordercolor='#000000'><tr>
  20. <td>Przedmiot</td><td>Oceny</td><td>Ś</td><td>K</td></tr>
  21. <tr><td>Język polski</td><td>".$tablica['polski']."</td><td>x</td><td>".wylicz_srednia('polski')."</td></tr>
  22. <tr><td>Język angielski</td><td>".$tablica['angielski']."</td><td>x</td><td>x</td></tr>
  23. <tr><td>Język niemiecki</td><td>".$tablica['niemiecki']."</td><td>x</td><td>x</td></tr>
  24. <tr><td>Matematyka</td><td>".$tablica['matematyka']."</td><td>x</td><td>x</td></tr>
  25. <tr><td>Fizyka</td><td>".$tablica['fizyka']."</td><td>x</td><td>x</td></tr>
  26. <tr><td>Chemia</td><td>".$tablica['chemia']."</td><td>x</td><td>x</td></tr>
  27. <tr><td>Biologia</td><td>".$tablica['biologia']."</td><td>x</td><td>x</td></tr>
  28. <tr><td>Geografia</td><td>".$tablica['geografia']."</td><td>x</td><td>x</td></tr>
  29. <tr><td>Historia</td><td>".$tablica['historia']."</td><td>x</td><td>x</td></tr>
  30. <tr><td>Informatyka</td><td>".$tablica['informatyka']."</td><td>x</td><td>x</td></tr>
  31. <tr><td>WOS</td><td>".$tablica['wos']."</td><td>x</td><td>x</td></tr>
  32. <tr><td>WOK</td><td>".$tablica['wok']."</td><td>x</td><td>x</td></tr>
  33. <tr><td>WF</td><td>".$tablica['wf']."</td><td>x</td><td>x</td></tr>
  34. <tr><td>PO</td><td>".$tablica['po']."</td><td>x</td><td>x</td></tr></table>";
  35. ?>


Zapewne popełniłem jakiś błąd w samej funkcji, bo pierwotnie bez używania funkcji średnia była liczona poprawnie. Proszę o pomoc.

Pozdrawiam.
Cienki1980
W funkcji korzystasz z zmiennej $tablica a nie przekazujesz jej do funkcji. Popraw a powinno być lepiej.
Divinity
Niestety, w dalszym ciągu nie działa sad.gif
maryaan
wyswietl sobie w funkcji po kolei przetwarzane dane, albo nie przekazujesz zmiennej albo przetwarzany ciag jest inny niz zalozyles).
W ogole to sobie zrobiles na zlosc bo nie przemyslales wszystkiego przy tworzeniu tabeli w bazie danych, i musisz recznie wypisywac/liczyc dane, przy lepszej konstrukcji wyswietlenie tej tabelki zajmuje trzy linijki kodu a calosc obliczen odwala baza danych

przede wszystkim w linii 8 wpisz
  1. <?php
  2. var_dump($tablica)
  3. ?>
to raz, a dwa - gdzie wpisujesz wartosc do $id ktorego uzywasz w zapytaniu?
Divinity
OK. Już sobie poradziłem. Dzięki Marian i Cienki smile.gif

Pozdrawiam 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.