//Calculate.php
class Calculate {
var $student = array();
function Calculate($date) {
global $sql;
$data = $sql->query("SELECT `fund`.`student_ID`, `fund`.`student_name` FROM `fund`, `student` WHERE `fund`.`fund_date` <= '{$date}' AND `fund`.`student_ID` = `student`.`student_ID` GROUP BY `fund`.`student_ID` ORDER BY `fund`.`student_ID` ASC");
if($sql->numrows($data) < 1)
return;
while($result = $sql->fetcharray($data)) {
$id = $result['student_ID'];
//get current date fund value
$data2 = $sql->query("SELECT SUM(`fund_value`) FROM `fund` WHERE `fund_date`='{$date}' AND `student_ID`='{$id}'");
$cur = $sql->onedata($data2);
//get previous date fund value;
$data3 = $sql->query("SELECT SUM(`fund_value`) FROM `fund` WHERE `fund_date`<'{$date}' AND `student_ID`='{$id}'");
$prev = $sql->onedata($data3);
$this->student[$id] = new Student($id, $result['student_name'], $cur, $prev);
}
}
}
//Student.php
class Student {
var $id, $name;
var $cur = 0, $prev = 0;
function Student($id, $name, $cur, $prev) {
$this->id = $id;
$this->name = $name;
$this->cur = $cur;
$this->prev = $prev;
}
}
//BaseClass.php
class BaseClass extends Calculate {
function BaseClass($date) {
parent::Calculate($date);
echo count($this->student);
//print_r($this->student);
}
}
//index.php
include_once('Student.php');
include_once('Calculate.php');
include_once('BaseClass.php');
$myBase = new BaseClass('2006-09-10');
Here are my learning class files. It can running successfully, but if my mysql results was too large. And it will waste a lot time to execute and print_r result cannot be show. Any expert can give me a guide??
my mysql table was like these
student table:
student_ID, student_name
fund table:
fund_ID, student_ID, fund_value, fund_date