<?php
 
 
    include_once 'config.inc.php';
 
    
 
    $link = mysqli_connect(
 
        db_default_host, 
 
        db_default_user, 
 
        db_default_password,
 
        db_default_database
 
    ) OR die(mysqli_error());
 
 
 
 
    $sql = "SELECT 
 
    CustomerID,
 
    CompanyName,
 
    ContactName,
 
    City,
 
    Country
 
    FROM customers"; 
 
    // if table column names are written underscored, then they will be automatically
 
    // converted to camel-case notation for php access
 
    // the northwind field names are usually written camel-cased.
 
 
    $pageSize = ($_GET["s"]?(int)$_GET["s"]:2);
 
    
 
    $result = mysqli_query($link, $sql);
 
 
    $dataObject = new QDataObject::getInstance('mysqli',$result, $link);
 
    $dataObject->byPage((int)$_GET["p"],$pageSize);
 
 
    // TABLE
 
    $table = QTag::factory("table")
 
                ->setAttribute("border",1)
 
                ->setAttribute("cellspacing",2)
 
                ->setAttribute("cellpadding",2);
 
    // THEAD
 
    $tr = QTag::factory("tr");
 
    foreach($dataObject->getFieldNames() as $columnName) {
 
        $th = QTag::factory("th")->add($columnName);
 
        $tr->add($th);
 
    }
 
    $thead = QTag::factory("thead")->add($tr);
 
    $table->add($thead);
 
    
 
    // TBODY
 
    $tbody = QTag::factory("tbody");
 
    for($i=0;$i<$dataObject->getAmountOfRows();$i++) {
 
        $tr = QTag::factory("tr");
 
        foreach($dataObject->getFieldNames() as $columnName) {
 
            $get = "get".$columnName;
 
            $data = $dataObject->$get($i);
 
            $td = QTag::factory("td")->add(empty($data) ? ' ':$data);
 
            $tr->add($td);
 
        }
 
        $tbody->add($tr);
 
    }
 
    $table->add($tbody);
 
    
 
    // TFOOT
 
    $td = QTag::factory("td")->setAttribute("colspan", $dataObject->getNumFields());
 
    $tr = QTag::factory("tr")->add($td);    
 
    $tfoot = QTag::factory("tfoot")->add($tr);
 
    
 
    $table->add($tfoot);
 
    
 
    // Pagination
 
    $records = QTag::factory("span")->add($dataObject->getNumRows().' records  ');
 
    $table->getChild(2)->getFirstChild()->getFirstChild()->add($records);
 
    
 
    if($dataObject->getActivePage()>1) {
 
        $previous = QTag::factory("a")->setAttribute("href",'?p='.($dataObject->getActivePage()-1).'&s='.$pageSize)->add('<');
 
        $table->getChild(2)->getFirstChild()->getFirstChild()->add($previous);
 
    }
 
    
 
    $active = QTag::factory("b")->add(($dataObject->getActivePage()));
 
    $table->getChild(2)->getFirstChild()->getFirstChild()->add($active);
 
    
 
    if($dataObject->getActivePage() < $dataObject->getNumOfPages()) {
 
        $next = QTag::factory("a")->setAttribute("href",'?p='.($dataObject->getActivePage()+1).'&s='.$pageSize)->add('>');
 
        $table->getChild(2)->getFirstChild()->getFirstChild()->add($next);
 
    }
 
    
 
    
 
    echo($table->doRender());
 
 
 
 |