Login   Register  
PHP Classes
elePHPant
Icontem

File: examples/advanced_pdo.php

Recommend this page to a friend!
Stumble It! Stumble It! Bookmark in del.icio.us Bookmark in del.icio.us
  Classes of Thomas Björk  >  TTreeList  >  examples/advanced_pdo.php  >  Download  
File: examples/advanced_pdo.php
Role: Example script
Content type: text/plain
Description: Advanced example using PDO
Class: TTreeList
Create a binary tree from array or database result
Author: By
Last change:
Date: 2 months ago
Size: 1,699 bytes
 

Contents

Class file image Download
<?php
include '../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(09)];
  }
  
$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;
?>