Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: jak zrobic pasek w statystyce?
Forum PHP.pl > Forum > Przedszkole
Gligamesh
witam w konuc udalo mi sie zrobic statystyke jak niewiecej chailem oto kod

dodawnie wpisow

  1. <?php
  2.  
  3.  
  4. if ($_COOKIE[&#092;"wizyta\"] != 1) {
  5.  
  6. $zapytanie = &#092;"INSERT INTO dzienny (id,dzien,miesiac,rok) VALUES ('',\".date(\"j\").\",\".date(\"n\").\",\".date(\"Y\").\");\";
  7. $wynikZapytania = mysql_query($zapytanie);
  8.  
  9. setcookie(&#092;"wizyta\", \"1\", time()+1); 
  10. }
  11.  
  12. mysql_close ($db);
  13. ?>


a oto kod wyswietlajacy statystyke

  1. <?php
  2. $as= mysql_query (&#092;"SELECT dzien,COUNT(dzien) AS wiz FROM dzienny WHERE miesiac=7 GROUP BY dzien\");
  3.  
  4. while ($row = mysql_fetch_array($as, MYSQL_NUM)) 
  5. { 
  6. $szer=&#092;"$row[1]/309\";
  7. &#092;" <tr>
  8.     <td width=&#092;"59\\">$row[0]</td>
  9.     <td width=&#092;\"309\"><img border=\"0\" src=\"pasek.jpg\" height=\"12\" width=\"$szer%\"></td>
  10.     <td width=&#092;\"156\">$row[1]</td>
  11.   </tr>&#092;"; 
  12. } 
  13.  
  14.  
  15. $as= mysql_query (&#092;"SELECT COUNT(*) FROM dzienny WHERE miesiac=7\");
  16. while ($row = mysql_fetch_array($as, MYSQL_NUM)) 
  17. { 
  18. echo &#092;"w tym miesi&sup1;cu <strong>$row[0]</strong><br>\"; 
  19. } 
  20. ?>


moje pytanie brzmi jak zrobic poprawnie ten pasek przy stacie questionmark.gif tzn zeby nigdy nie przekroczyl tabveli

oto podglad http://www.podkret.com/stat.php
halfik
wykozystaj matematyka, najlepiej dzielnie tongue.gif np. tam gdzei msz najwieksza wartosc liczbowa pasek rozciagaj na maxa - przy odp. duzych liczbach bediesz musial te wartosc podzielic przez jakas tam liczba n..., a wszystkie pozostale rysjuesz dopiero po podzieleniu przez to n, co daje Ci gwarancie ze one rowniez zmieszcza sie w tabeli. Zatem interesuje nas tylko najwieksza wartosc liczbowa i ja jako jedyna podejrzewamy o zabojstwo tongue.gif Jesli wyeliminujemy przywodce stada, to reszta baedzei nie grozna tongue.gif

Np. mamy takie wartosci 15, 47, 111, 99. Do tego zalozmy ze jakos tak malujemy ze to 111 nie miesci sie nam w tabeli. Wiec dla przykladu bierzemy i dzielimy je przez 2, sprawdzamy czy teraz by sie zmiescilo, jesli tak to ryzujemy, a przy pozostalych wykonuemy... tak! dzielenie przez 2 i dopiero rysujemy tongue.gif
id4
Witam

Halfik napisał OK.

Ja dodam tylko tyle, że:
Największą liczbę dziel przez szerokośc tabeli (komórki gdzie ma być wyświetlona, ewentualnie odejmij szerokość zakończeń wykresu od szerokości tej komórki). W ten sposób uzyskasz liczbę - MNOŻNIK. Następnie każdą uzyskaną liczbę ze statystyk pomnóż przez MNOŻNIK i przepuść ją przez funkcję ceil() dla uzyskania liczby pixeli szerokości. Sprawa jest bardzo prosta smile.gif Na pewno sobie z nią poradzisz smile.gif
Gligamesh
a moze mala pomoc w kodzie ? bo nie mam pojecia jak mam to naspaic, teroiee lapie gorzej z praktyka
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.