1. Go to this page and download the library: Download gpoehl/phpreport library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
gpoehl / phpreport example snippets
$rep = new Report($this);
use gpoehl\phpreport\Report;
class FirstExample{
public Report $rep;
/** @var Customers[] Array of customer objects. /*
public function __construct(array $customers){
$this->rep = (new Report($this))
->group ('region')
->group('customer', 'customerID')
->join (['getOrdersByDate'] ,null, null, null, date("Y"))
->group ('month', fn($order)=> substr($order->orderDate, 5, 2))
->group('orderID')
->compute ('discount', false)
->join (['getOrderDetails'])
->compute ('amount')
->setRuntimeOption(RuntimeOption::Prototype);
$this->rep->run($data);
echo $this->rep->out->get();
}
}
public function monthFooter($month, $order){
$amount = $this->rep->total->amount->sum();
$discount = $amount * (($amount < 1000) ? 0.02 : 0.03); // That's the complicated formula. :))
$this->rep->total->discount->add($discount);
$this->rep->prototype();
}
public function customerHeader($customerID, $customer){
return
$customer->adress' .
'<br>Dear ' . $customer->name;
}
public function customerFooter($customerID, $customer){
return
"You placed {$this->rep->gc->orders->sum()} orders".
. " with an total amount of {$this->rep->total->amount->sum()}." ;
"Therefore you receive a total discount of {$this->rep->total->discount->sum()}." ;
}
// Default method called when no data is found for first data dimension (orders)
public function noDataDim1($dimID){
return
"You haven't placed any order lately. We hope to see you soon again.";
}
public function totalFooter(){
return
"<h1>Summary page</h1> .
"<br>Total sales: " . $this->rep->total->sales->sum() .
"<br>Total number of customers: " . $this->rep->gc->customer->sum() .
"<br>Total number of orders: " . $this->rep->gc->order->sum() .
"<br>Total number of rows: " . $this->rep->rc->sum();
}
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.