Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Ankieta., Jak zaokrąglić wyniki?
Mazur_pl
post 28.05.2007, 16:30:27
Post #1





Grupa: Zarejestrowani
Postów: 87
Pomógł: 0
Dołączył: 11.05.2007

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


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 .

Ten post edytował Mazur_pl 28.05.2007, 16:32:18
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 8)
babejsza
post 28.05.2007, 16:37:58
Post #2





Grupa: Zarejestrowani
Postów: 407
Pomógł: 1
Dołączył: 4.03.2003
Skąd: warszawa

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


  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. ?>
Go to the top of the page
+Quote Post
Mazur_pl
post 28.05.2007, 17:30:40
Post #3





Grupa: Zarejestrowani
Postów: 87
Pomógł: 0
Dołączył: 11.05.2007

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


Mam jeszcze jedno pytanie.
Jak zaokrąglić ale na przykład do:
1, 1.5, 2.0, 2.5 ?
Go to the top of the page
+Quote Post
cicik
post 28.05.2007, 18:57:33
Post #4





Grupa: Zarejestrowani
Postów: 219
Pomógł: 5
Dołączył: 18.07.2006
Skąd: Piekary Śląskie

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


  1. <?php
  2. $liczba = 1.43245324;
  3. $zaokraglone = round($liczba * 10 + 0.5) / 10;
  4. ?>


--------------------
CMS dla Twojej firmy
Wojciech Małota
Go to the top of the page
+Quote Post
Mazur_pl
post 28.05.2007, 19:28:51
Post #5





Grupa: Zarejestrowani
Postów: 87
Pomógł: 0
Dołączył: 11.05.2007

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


Dalej nic. sad.gif Coraz gorzej to wyglada.
Go to the top of the page
+Quote Post
threecolors
post 28.05.2007, 20:57:08
Post #6





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 10.05.2007

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


$liczba=round ($liczba , 1)
Go to the top of the page
+Quote Post
Kicok
post 29.05.2007, 09:06:23
Post #7





Grupa: Zarejestrowani
Postów: 1 033
Pomógł: 125
Dołączył: 17.09.2005
Skąd: Żywiec

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


  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()


--------------------
"Sumienie mam czyste, bo nieużywane."
Go to the top of the page
+Quote Post
Mazur_pl
post 29.05.2007, 10:46:40
Post #8





Grupa: Zarejestrowani
Postów: 87
Pomógł: 0
Dołączył: 11.05.2007

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


Dzięki wszystkim , już chodzi :] .
Go to the top of the page
+Quote Post
Ludvik
post 29.05.2007, 12:24:22
Post #9





Grupa: Przyjaciele php.pl
Postów: 698
Pomógł: 3
Dołączył: 28.03.2004
Skąd: Wrocław

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


Kombinujecie... smile.gif number_format" title="Zobacz w manualu PHP" target="_manual


--------------------
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 18.07.2025 - 01:20