PHP: strefaphp.net
PHP: strefaphp.net



 
Czy odwiedziłeś już te strony? -
dodał: Vengeance

Opis artykułu dodano: 04-06-2004 03:39
Artykuł opisuję jak w łatwy i szybki sposób przedstawić jakieś dane za pomocą wykresu słupkowego.
dodał: Vengeance | autor: Vengeance | czytano: 5198 razy

Inne materiały do artykułu

Jak przedstawić dane za pomocą wykresu słupkowego
---/ Wstęp /---

Artykuł ten ma pokazać jeden ze sposobów na "wygenerowanie"
wykresu słupkowego dla jakiś danych.

---/ Przygotowania /---

Musimy najpierw w dowolnym programie graficznym przygotować
grafikę 1x1 px dowolnego koloru najlepiej w formacie gif lub png (np. punkt.gif)

Teraz utwórzmy plik 'wykres.php' w którym to będzie cały nasz potrzebny kod.

---/ Założenia /---

Na potrzeby artykułu załóżmy, że w bazie danych trzymane będą nasze dzienne wejścia na stronę.

Oto kod sql

Kod:


CREATE TABLE `wykres` (
  `data` date NOT NULL default '0000-00-00',
  `odwiedzin` int(11) NOT NULL default '0'
) TYPE=MyISAM;



---/ Etap pierwszy /---

Najpierw do naszego pliku 'wykres.php' dodajemy linijki odpowiedzialne za połączenie się z naszą bazą danych.


Kod:


<?php
  mysql_pconnect
("localhost""root""haslo");
  
mysql_select_db("moja_baza");
?>




Teraz pobieramy wszystkie potrzebne nam rekordy z danego miesiąca.


Kod:


<?php
  $dzis 
date("Y-m-d");
  list(
$rok,$miesiac,$dzien) = split('-',$dzis);
  
$sql "SELECT data, odwiedzin FROM wykres WHERE DATE_FORMAT(data, '%m') = '$miesiac' GROUP BY data";
  
$result mysql_query($sql);
?>



---/ Etap drugi /---

Teraz przygotujmy sobie pomocniczą tablicę zawierającą dane, ile każdy z miesięcy
ma dni. Następnie utworzymy tabelę zawierającą po jednym rekordzie dla każdego dnia.


Kod:


<?php
  $miesiace 
= array('01' => 31,
                    
'02' => 28,
                    
'03' => 31,
                    
'04' => 30,
                    
'05' => 31,
                    
'06' => 30,
                    
'07' => 31,
                    
'08' => 31,
                    
'09' => 30,
                    
'10' => 31,
                    
'11' => 30,
                    
'12' => 31
                   
);

  
$tblDni = array();
  
  for(
$x 1$x <= $miesiace[$miesiac]; $x++)
  {
    
$tblDni[$x] = 0;
  }
?>



---/ Etap trzeci /---

Teraz pobrane wcześniej dane z bazy będziemy umieszczać w odpowiednim miejscu
w tablicy $tblDni.


Kod:


<?php
  
while ($row mysql_fetch_array($result))
  {
    list(
$rok2,$miesiac2,$dzien2) = split('-'$row['data']);
    
$stamp mktime(""""""""$dzien2"");
    
$curr date("j"$stamp);
    
$show $row['odwiedzin'];
    
$tblDni[$curr] = $show;
  }
?>



---/ Etap czwarty /---

Pozostaje już tylko wyświetlenie wszystkiego


Kod:


<?php
  $wartosci 
'';
  
$daty '';
  
  foreach(
$tblDni as $key => $value)
  {
    
$wartosci .= '<td align="center" valign="bottom">'.$value.'<br><img src="punkt.gif" width="5px" height="'.$value.'px"></td>';
  }
  
  foreach(
$tblDni as $key => $value)
  {
    
$daty .= '<td align="center" valign="bottom">'.$key.'</td>';
  }
  
  echo 
'<table border=0 cellpadding=0 cellspacing=2>
        <tr><th colspan=100%>Odwiedzin</th></tr>
        <tr> '
.$wartosci.' </tr><tr>'.$daty.'</tr></table><br><br>';
?>



---/ Kontakt /---

Jeśli masz jakieś uwagi bądź pytania skontaktuj się ze mną vee@irc.pl
'Vengeance'
-----------------------
Artykuł można umieścić gdzieś indziej TYLKO za zgodą autora (vee@irc.pl)
Skrypt można dowolnie modyfikować. Jego używanie jest bezpłatne.
Nie trzeba nigdzie umieszczać informacji o autorze skryptu.
PHP: strefaphp.net
wyślij email informacje forum download skrypty katalog kursy porady artykuły home współpraca reklama kontakt