Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Ankieta.
Forum PHP.pl > Forum > PHP
Mazur_pl
Siema, napisałem prosty kod:
  1. <?php
  2.  
  3.  mysql_connect(******);
  4.  mysql_select_db("rate");
  5.  
  6.  
  7.  if(isset($_POST['vote']) || $_COOKIE['vote']) {
  8.  if($_COOKIE['vote']) {
  9.  
  10.  echo('Juz glosowano! | Wyniki:<br />');
  11.  
  12.  $wyniki_query = mysql_query("SELECT * FROM votes;");
  13.  
  14.  while($row = mysql_fetch_assoc($wyniki_query)) {
  15.  echo rand($row['ile'], $row['ile']);
  16.  }
  17.  } else {
  18.  setcookie('vote', '1');
  19.  $vote_query = ("INSERT INTO votes (ile, ip) VALUES ('" . $_POST['vote'] . "', '" . $_SERVER["REMOTE_ADDR"] . "');");
  20.  
  21.  echo('Twój głos to: ' . $_POST['vote'] . '. | Wyniki => <a href="ankieta.php">Click..</a>');
  22.  
  23.  mysql_query($vote_query);
  24.  }
  25.  } else {
  26.  echo('<form action="ankieta.php" method="post">');
  27.  echo('<input type="radio" name="vote" value="1" />1<br />');
  28.  echo('<input type="radio" name="vote" value="2" />2<br />');
  29.  echo('<input type="submit" value="Głosuj"></form>');
  30.  }
  31.  
  32. ?>


W bazie danych mam tabelę:
*--------*---------*--------*
|---nr---|----ile---|----ip--|

Dodałem parę głosowań:
2,1,2,1,2,2,2,1,1,2

I teraz chciałem tam gdzie wyniki wyświetlić średnią tych liczb.
Proszę o pomoc smile.gif .
babejsza
  1. <?php
  2. $i = 0;
  3. while($row = mysql_fetch_assoc($wyniki_query)) 
  4. {  
  5. $suma += $row['ile'];
  6. $i++;
  7. }
  8.  
  9. $srednia = $suma/$i;
  10. echo $srednia;
  11. ?>


albo

  1. <?php
  2. $wyniki_query = mysql_fetch_array(mysql_query("SELECT SUM(ile) as suma, COUNT(id) as ilosc FROM votes;"));
  3.  
  4. $srednia = $wynik['suma']/$wynik['ilosc'];
  5. echo $srednia;
  6. ?>
Mazur_pl
Mam jeszcze jedno pytanie.
Jak zaokrąglić ale na przykład do:
1, 1.5, 2.0, 2.5 ?
cicik
  1. <?php
  2. $liczba = 1.43245324;
  3. $zaokraglone = round($liczba * 10 + 0.5) / 10;
  4. ?>
Mazur_pl
Dalej nic. sad.gif Coraz gorzej to wyglada.
threecolors
$liczba=round ($liczba , 1)
Kicok
  1. <?php
  2.  
  3. $liczba1 = 1;
  4. $liczba2 = 1.24999999;
  5. $liczba3 = 1.25;
  6. $liczba4 = 1.5;
  7. $liczba5 = 1.74999999;
  8. $liczba6 = 1.75;
  9. $liczba7 = 2;
  10.  
  11. echo $zaokr = round( (round( $liczba1 * 2 ) / 2), 1 ) . '<br>';
  12. echo $zaokr = round( (round( $liczba2 * 2 ) / 2), 1 ) . '<br>';
  13. echo $zaokr = round( (round( $liczba3 * 2 ) / 2), 1 ) . '<br>';
  14. echo $zaokr = round( (round( $liczba4 * 2 ) / 2), 1 ) . '<br>';
  15. echo $zaokr = round( (round( $liczba5 * 2 ) / 2), 1 ) . '<br>';
  16. echo $zaokr = round( (round( $liczba6 * 2 ) / 2), 1 ) . '<br>';
  17. echo $zaokr = round( (round( $liczba7 * 2 ) / 2), 1 ) . '<br>';
  18.  
  19. ?>



A co do pobierania średniej, to można to zrzucić na bazę danych: AVG()
Mazur_pl
Dzięki wszystkim , już chodzi :] .
Ludvik
Kombinujecie... smile.gif number_format" title="Zobacz w manualu PHP" target="_manual
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.