Source code of the tutorial is available for download.

We will use jQuery to load the task data from the server side.
<script type="text/javascript">
  var dp = new DayPilot.Gantt("dp");
  dp.startDate = "2015-01-01";
  dp.days = 31;
  dp.init();
  loadTasks();
  function loadTasks() {
      $.post("backend_tasks.php", function(data) {
          dp.tasks.list = data;
          dp.update();
      });
  }
</script>The backend_tasks.php script returns a JSON array structure with the task properties. The task children are stored in the "children" property.
<?php
require_once '_db.php';
class Task {}
$result = tasklist($db, db_get_tasks(null));
header('Content-Type: application/json');
echo json_encode($result);
function tasklist($db, $items) {
    $result = array();
    foreach($items as $item) {
      $r = new Task();
      // rows
      $r->id = $item['id'];
      $r->text = $item['name'];
      $r->start = $item['start'];
      $r->end = $item['end'];
      
      $parent = $r->id;
      
      $children = db_get_tasks($parent);
      
      if (!empty($children)) {
          $r->children = tasklist($db, $children);
      }
      $result[] = $r;
    }
    return $result;
}
?>
The db_get_tasks() function is defined in _db.php:
function db_get_tasks($parent) {
    global $db;
    
    $str = 'SELECT * FROM task WHERE parent_id = :parent ORDER BY ordinal, ordinal_priority desc';
    if ($parent == null) {
        $str = str_replace("= :parent", "is null", $str);
        $stmt = $db->prepare($str);
    }
    else {
        $stmt = $db->prepare($str);
        $stmt->bindParam(':parent', $parent);
    }
    
    $stmt->execute();
    return $stmt->fetchAll();
}
Sample JSON data:
[
  {
    "id":"1",
    "text":"Task 1",
    "start":"2015-01-02T00:00:00",
    "end":"2015-01-04T00:00:00"
  },
  {
    "id":"6",
    "text":"Task 2",
    "start":"2015-01-04",
    "end":"2015-01-06"
  },
  {
    "id":"3",
    "text":"Task 3",
    "start":"2015-01-01",
    "end":"2015-01-02"
    "children":[
      {
        "id":"5",
        "text":"Sub-Task 3.1",
        "start":"2015-01-06",
        "end":"2015-01-11"
      }
    ]
  }
]