Τεκμηρίωση:

Επιστροφή
Εγχειρίδιο χρήσης του phpchartPlus
Τσιαβός Χρήστος <[email protected]>
Ημερομηνία: 18-Feb-2005
Άδεια Χρήσης: GPL
3.2.4 Χρησιμοποιώντας τη στρατηγική PEARDBData
προαπαιτεί PEAR DB
Για να χρησιμοποιήσετε τη στρατηγική PEARDBData πρέπει να ακολουθήσετε 4 βήματα
1. Εισάγετε το κατάλληλο αρχείο στο σενάριο παραγωγής διαγράμματος
2. Αρχικοποιήστε την κλάση PEARDBData Strategy
3. Καθορίστε τη στρατηγική ή υπόβαθρο που θα ακολουθήσει ο αρχικοποιημένος DataParser ε την PEARDBData
4. Περάστε το ερώτημα SQL ως παράμετρο στον DataParser

Για να καθορίσετε τις παραμέτρους σύνδεσης με τη βάση δεδομένων χρειάζεστε ένα πίνακα 8 θέσεων με τα ακόλουθα κλειδιά ορισμένα:

- DB_Type: εξυπηρετητή τηthe name of the database server (mysql,pgsql etc)
- DB_Username: το όνομα χρήστη της βάσης δεδομένων
- DB_Passwd: το συνθηματικό του χρήστη της βάσης δεδομένων
- DB_Host: the DNS name or ip number of the database server
- DB_Name: το όνομα της βάσης δεδομένων
- Field_GroupName: το όνομα του πεδίου του πίνακα που "κρατά" το όνομα του group
- Field_ItemName: το όνομα του πεδίου του πίνακα που "κρατά" το όνομα του αντικειμένου που ανήκει στο παραπάνω group
- Field_ItemValue: το όνομα του πεδίου του πίνακα που "κρατά" την αριθμητική τιμή του παραπάνω αντικειμένου

Η ερώτηση SQL μπορεί να καθοριστεί ως ένας μονοδιάστατος πίνακας:
array("Query"=>"SELECT * FROM my_table")

Για να κάνουμε τα πράγματα πιο κατανοητά ας δούμε ένα παράδειγμα:
Υποθέστε ότι έχουμε τον ακόλουθο πίνακα της βάσης δεδομένων και θέλουμε να αναπαραστήσουμε γραφικά τα δεδομένα του:

Σε αυτή την περίπτωση για να παραχθεί το γράφημα επιτυχώς πρέπει να καθοριστούν τα ακόλουθα:

Field_GroupName: Hour
Field_ItemName:
Host
Field_ItemValue: Traffic
SQL Query:
SELECT * FROM rc_stat
τμήμα κώδικα από το σενάριο : "Examples/example.php"
include("../Sources/phpchartPlus.php");
include("../Sources/CacheToFile_Strategy.php");

include("../Sources/PEARDBData_Strategy.php");
include("../Sources/XMLConfig_Strategy.php");

$DataParams=array("DB_Type"=>"", "DB_Username"=>"", "DB_Passwd"=>"", "DB_Host"=>"", "DB_Name"=>"", "Field_GroupName"=>"", "Field_ItemName"=>"", "Field_ItemValue"=>"");

$ConfigParams=array("filename"=>"../Data/phpchartplus.conf.xml");

$DataStrategy=new PEARDBData_Strategy();
$ConfigStrategy=new XMLConfig_Strategy();
$CacheStrategy=new CacheToFile_Strategy();
$im=new phpchartPlus();
                   
try
{
$im->DataParser_->strategize($DataStrategy,$DataParams);
$im->DataParser_->parse(array("Query"=>"SELECT * FROM my_table"));
}
   catch (DataParser_Exception $e) 
   {
     print $e->getMessage();
     exit();
   }
   catch (DataStrategy_Exception $f) 
   {
     print $f->getMessage();
     exit();
   }
   
try
{
$im->ConfigParser_->strategize($ConfigStrategy,$ConfigParams);
$im->ConfigParser_->parse();
}
   catch (ConfigParser_Exception $e) 
   {
     print $e->getMessage();
     exit();
   }
   catch (ConfigStrategy_Exception $f) 
   {
     print $f->getMessage();
     exit();
   } 
   
try
{
$im->get_Instance();
}
   catch (ImageSupport_Exception $e)
   {
     print $e->getMessage();
     exit();
   }
   catch (FontSupport_Exception $f)
   {
     print $f->getMessage();
     exit();
   }
   
$im->Chart_->set_CachingStrategy($CacheStrategy,2); 
//Cache for 2 minutes 
$im->Chart_->draw_Chart();
               
 

 
Hosted by www.Geocities.ws

1