Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MYSQL] funkcja zwracajaca srednia wartosc
Forum PHP.pl > Forum > Przedszkole
Wolfie
Witam

Probuje napisac funckje zwracajaca srednia wartosc z pol znajdujacych sie w bazie danych ale utknalem w miejscu

Oto funkcja:

  1. <?php
  2. function get_avarage_review() {
  3.    
  4.    global $avarage;
  5.    
  6.    $avarage_review = "SELECT review_rating ".
  7.        "FROM reviews ".
  8.        "WHERE review_movie_id = '".$_GET['movie_id']."'";
  9.        
  10.    $avarage_result = mysql_query($avarage_review) or die (mysql_error());
  11.    $total_reviews = mysql_num_rows($avarage_result);
  12.    while($avarage_row = mysql_fetch_assoc($avarage_result)) {
  13.        for($i=0; $i<extract($avarage_row); $i++) {
  14.            echo $review_rating;
  15.        }
  16.    }
  17. }
  18. get_avarage_review();
  19. ?>


zwraca ona wartosci znajdujace sie w polach bazy danych o kluczu $review_rating.....niestety zabrnalem w slepy zaulek.....i nie wiem w jaki sposob obliczyc z tego srednia......glownie chodzi o dodanie do siebie wartosci pol , dalej zostanie to podzielone przez zmienna $total_reviews = mysql_num_rows($avarage_result)
koodlaty
A nie prościej tak:
  1. SELECT avg(pole) FROM tabela
?
Wolfie
Pewnie prosciej ,tylko ze ja chce sie nauczyc jak dzialaja petle smile.gif mozna jakas podpowiedz ? smile.gif

Dla tych ktorzy by kiedys trafili na ten watek umieszczam poprawne rozwiazanie :

  1. <?php
  2. function get_avarage_review() {
  3.    
  4.    global $avarage;
  5.    
  6.    $avarage_review = "SELECT review_rating ".
  7.        "FROM reviews ".
  8.        "WHERE review_movie_id = '".$_GET['movie_id']."'";
  9.        
  10.    $avarage_result = mysql_query($avarage_review) or die (mysql_error());
  11.    $total_reviews = mysql_num_rows($avarage_result);
  12.    $current = 0;
  13.    while($avarage_row = mysql_fetch_assoc($avarage_result)) {
  14.        for($i=0; $i<extract($avarage_row); $i++) {
  15.            $current = $current + $review_rating;
  16.        }
  17.    $avarage = $current/$total_reviews;
  18.    }
  19.    return $avarage;
  20. }
  21. ?>


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