Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Ankieta & rysowany wykres
Forum PHP.pl > Forum > PHP
Raffal
Witam stworzylem skrypt ktory pobiera dane z tabeli i rysuje wykres w zalezcnosci od oddanych glosow czyli ankieta z wykresem slopkowym oparta o my_sql no ale cos nie dokonca dziala tzn dane sie dodaja przy kazdym ponownym odswierzeniu strony zauwazylem ze chodzi o zmienna $a ale nie wiem co dokladaniej

  1. <form enctype="text/plain" action=sonda2.php method="GET">
  2.  
  3. Słabo <input type="radio" name="a" value="Slabo"> <br>
  4. Dość Dobrze <input type="radio" name="a" value="DoscDobrze">  <br>
  5. Dobrze  <input type="radio" name="a" value="Dobrze">  <br>
  6. Rewelacyjnie <input type="radio" name="a" value="Rewelacyjnie">  <br>
  7. Głosuj  <input type="submit" value="ok">  <br>
  8.  
  9.  
  10.  
  11. </form>
  12.  
  13.  
  14.  
  15.  
  16. <?
  17. /*
  18. if(isset($a))
  19. mysql_connect ("localhost","","") or die ("blad mysql");
  20. mysql_select_db ("") or die ("blad bazy");
  21. $plus=mysql_query("UPDATE sonda set $a=$a+1 ") or die ("blad");
  22. };
  23.  
  24. */
  25. ?>
  26. <br>



  1. <?
  2.  
  3.  
  4. if(isset($a))
  5. { 
  6. mysql_connect ("localhost","","") or die ("blad mysql");
  7. mysql_select_db ("") or die ("blad bazy");
  8. $plus=mysql_query("UPDATE sonda set $a=$a+1 ") or die ("blad");
  9. };
  10. $a='';
  11.  
  12.  
  13. mysql_connect ("localhost","","") or
  14. die ("blad mysql");
  15. mysql_select_db ("") or
  16. die ("blad bazy");
  17. $wynik=mysql_query("select Slabo, DoscDobrze, Dobrze, Rewelacyjnie from sonda");
  18. $rekord=mysql_fetch_array($wynik);
  19. $suma=$rekord[0]+$rekord[1]+$rekord[2]+$rekord[3];
  20. $Slabo1=($rekord[0]/$suma);
  21. $DoscDobrze1=($rekord[1]/$suma);
  22. $Dobrze1=($rekord[2]/$suma);
  23. $rewelacyjnie1=($rekord[3]/$suma);
  24.  
  25.  
  26. header("Content-type: image/jpeg");
  27. $rysunek = imagecreate (400,400)
  28. or die("Biblioteka graficzna nie została zainstalowana!");
  29. $kolorlol = imagecolorallocate ($rysunek, 255, 0, 0);
  30. $kolorbialy = imagecolorallocate ($rysunek, 255, 255, 255);
  31. $kolorczarny = imagecolorallocate ($rysunek, 0, 0, 0);
  32. imagefilledrectangle ($rysunek, 0, 0, 400, 400, $kolorbialy);
  33. imagefilledrectangle ($rysunek, 0, 0, 200*$Slabo1,10 ,$kolorlol);
  34. imagefilledrectangle ($rysunek, 0, 20, 200*$DoscDobrze1,30 ,$kolorlol);
  35. imagefilledrectangle ($rysunek, 0, 40, 200*$Dobrze1,50 ,$kolorlol);
  36.  imagefilledrectangle ($rysunek, 0, 60, 200*$rewelacyjnie1,70 ,$kolorlol);
  37.  
  38. imagestring($rysunek,1,200,0,"Słabo: ".($Slabo1*100)."%",$kolorczarny); 
  39. imagestring($rysunek,1,200,20,"Dobrze: ".($Dobrze1*100)."%",$kolorczarny); 
  40.  imagestring($rysunek,1,200,40,"Dosć Dobrze: ".($DoscDobrze1*100)."%",$kolorczarny); 
  41. imagestring($rysunek,1,200,60,"Rewelacyjnie: ".($rewelacyjnie1*100)."%",$kolorczarny); 
  42.  
  43. imagejpeg($rysunek);
  44. echo"<br>";
  45.  
  46.  
  47.  
  48. ?>



z gory dzieki za pomoc
remik09
przeciez to:

  1. <?php
  2. /*
  3. if(isset($a))
  4. mysql_connect ("localhost","","ADIC") or die ("blad mysql");
  5. mysql_select_db ("tswiba") or die ("blad bazy");
  6. $plus=mysql_query("UPDATE sonda set $a=$a+1 ") or die ("blad");
  7. };
  8.  
  9. */
  10. ?>


powinno byc chyba odznaczone, chyba tu tkwi blad
Raffal
nie bo przeenioslem to do miejsca wyswietlenia
a pozatym nie czytasz to jest dodawanie przecierz to jest dodawanie i jest to w komentarzu a mi dodaje za duzo a nie wwcale
Kicok
po wysłaniu formularza i dodaniu danych do bazy wykonaj:
  1. <?php
  2. header('Location: sonda2.php');
  3. exit();
  4. ?>


Dzięki temu odświeżanie strony nie spowoduje już żadnych nieprzewidzianych skutków ubocznych (zmienna $a zostanie usunięta z URL strony).

PS. Używaj $_GET['a'] zamiast $a
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.