| 
<?phpinclude '../treelist.php';
 
 // Create a map with a few character combinations
 $map = array('as', 'be', 'ca', 'da', 'en', 'fo', 'gu', 'he', 'in', 'ja');
 
 // Create a database (in memory)
 $db = new PDO('sqlite::memory:');
 $db->exec('CREATE TABLE testdata (id integer primary key, name string, dummy integer);');
 // Create 1000 entries in the database by creating random character combinations
 // based on the map defined earlier
 for($i = 0; $i < 1000; $i++) {
 $value = '';
 for($j = 0; $j < 3; $j++) {
 $value .= $map[rand(0, 9)];
 }
 $db->exec('INSERT INTO testdata (name,dummy) VALUES (\''.$value.'\', '.rand(0,100).');');
 }
 
 // Execute a query that returns all 1000 entries
 $rs = $db->query('SELECT * FROM testdata', PDO::FETCH_ASSOC);
 
 // Create a TreeList
 $tree = new TTreeList();
 // Assign the result of the database query as the data content for the tree
 $tree->AssignPDO($rs);
 
 // Check how many records we have
 echo "The treelist has ".count($tree)." nodes".PHP_EOL;
 // Loop the tree as an array
 foreach($tree as $node) {
 echo ' '.$node["id"].' - '.$node["name"];
 }
 echo PHP_EOL;
 
 // Build the tree and index it on the name field
 echo "Building tree".PHP_EOL;
 $tree->Build('name');
 
 // Display the amount of nodes in the tree (this will probably be somwhere
 // around 620-640 items)
 echo "There is ".$tree->treeCount." nodes in the tree".PHP_EOL;
 
 // Get the first node in the treelist
 $node = $tree->GetFirst();
 $count = 0;
 // Walk through the treelist
 while($node !== null) {
 $count++;
 echo $node['name'].' ';
 $node = $node->next;
 }
 echo PHP_EOL;
 // Display how many nodes we have passed (should be equal to the treeCount)
 echo "We walked ".$count." nodes".PHP_EOL;
 ?>
 |