Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php] ankieta, niby ok a nie dziala:(
lukash82
post
Post #1





Grupa: Zarejestrowani
Postów: 320
Pomógł: 2
Dołączył: 17.03.2006
Skąd: Siemianowice

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


Witam forumowiczow. Zrobilem taka oto ankiete:
  1. <?php
  2.  
  3. //połączenie z baza danych
  4. $connect = mysql_connect("localhost", "root", "krasnal") or die ("Sprawdź połączenie z bazą danych.");
  5. mysql_select_db("sklep");
  6. if ($OCENA == '0') {
  7. $tak = "INSERT INTO ankieta (numer, glos) VALUES ('','tak')";
  8. $results1 = mysql_query($tak) or die(mysql_error());
  9. }
  10. elseif ($OCENA == '1') {
  11.  $nie = "INSERT INTO ankieta (numer, glos) VALUES ('','nie')";
  12.  $results2 = mysql_query($nie) or die(mysql_error());
  13. }
  14. $sumatak = "SELECT distinct glos, count(*) as liczba FROM `ankieta` where glos='tak' group by 1";
  15. $rezultattak = mysql_query($sumatak) or die(mysql_error());
  16. $sumanie = "SELECT distinct glos, count(*) as liczba FROM `ankieta` where glos='nie' group by 1";
  17. $rezultatnie = mysql_query($sumanie) or die(mysql_error());
  18. //obliczanie procentow
  19. $tak_p=round((100 * $rezultattak) / ($rezultattak + $rezultatnie));
  20. $nie_p=round((100 * $rezultatnie) / ($rezultattak + $rezultatnie));
  21. //deklarujemy dlugosc ekranu na 100 pikseli
  22. $ekran=100;
  23. //sprawdzanie ktorych glosow jest wiecej i przypisanie jej do zmiennej max
  24. if ($rezultattak>$rezultatnie) $max=$rezultattak;
  25. else $max=$rezultatnie;
  26. //wyznaczanie dlugosci wskaznikow z proporcji
  27. $tak_belka=round($ekran * $rezultattak / $max);
  28. $nie_belka=round($ekran * $rezultatnie / $max);
  29. //wyswietlanie paskow na ekranie
  30. echo "<table width='400' border='0' class=ct>";
  31. echo "<tr><td width=30%>Tak</td><td width=70%><img src='../grafika/ankieta.gif' width='$tak_belka' height='10'> $tak_p % </td></tr>";
  32. echo "<tr><td width=30%>Nie</td><td width=70%><img src='../grafika/ankieta.gif' width='$nie_belka' height='10'> $nie_p % </td></tr>";
  33. echo "</table>";
  34. //wyswietlenie ilosci oddanych glosow
  35. $ilosc_glosow=$rezultattak + $rezultatnie;
  36. echo '<br>'.'Łącznie oddano ' ,$ilosc_glosow,' głosów';
  37.  
  38. ?>

No i nie chce mi to dzialac. Jak na moje oko (chociaz dopiero zaczynam uczyc sie php) to jest wszystko oki. Zapytania sa dobre bo je sprawdzalem w phpMyAdminie. Glosy sa tez dobrze dodawane do bazy. A jednak zamiast wyswietlac dobre wyniki wywala mi caly czas ze oddano 7 glosow i proporcje w glosch 43% do 57%. Probuje to juz rozgryzc dluzszy czas ale jakos nic mi z teg nie wychodzi. W przegladarce czyscilem pamiec podreczna i takie tam ale to nic nie dalo. Jesli ktos widzi tu jakis blad to prosze o info. Pozdrawiam.

Ten post edytował lukash82 21.04.2006, 16:08:06
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
krzyszbi
post
Post #2





Grupa: Zarejestrowani
Postów: 251
Pomógł: 13
Dołączył: 15.09.2005

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


a ża tak sie zapytam po co ci liczba w danym wierszu
jak mniemam ma to być ankieta z odpowiedziami na TAK lub NIE czyli moim zdanie wystarcy coś takiego
  1. <?php
  2.  
  3. $sumatak = "SELECT distinct glos, count(*) as liczba FROM `ankieta` where glos='tak'";
  4. $rezultat001 = mysql_query($sumatak) or die(mysql_error());
  5. $rezultattak = mysql_num_rows($rezultat001) or die(mysql_error());
  6.  
  7. $sumanie = "SELECT distinct glos, count(*) as liczba FROM `ankieta` where glos='nie'";
  8. $rezultat002 = mysql_query($sumanie) or die(mysql_error());
  9. $rezultatnie = mysql_num_rows($rezultat002) or die(mysql_error());
  10.  
  11. $total = $rezultattak + $rezultattnie;
  12.  echo'Glosów na TAK oddano '.(($rezultattak/$total)*100).'<br />';
  13.  echo'Glosów na NIE oddano '.(($rezultatnie/$total)*100).'<br />';
  14.  echo'Łączna ilość głosów '.$total;
  15.  
  16. ?>

nie wiem czy o coś takiego ci chodzi i jak chcesz to zaprezentować (aż się coś takiego prosi o wykres (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) )
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 3.10.2025 - 09:25