Location: PHPKode > scripts > PhpDtObject > phpdtobject/test.php
<?php
/**
 * @author      Marko Manninen <hide@address.com>
 * @copyright   Copyright © 2004, Marko Manninen  
 * @date        9.6. -2004
 * @license     http://opensource.org/licenses/lgpl-license.php GNU Lesser General Public License
 */
/**
 * Include classes for the test. ADOdb can be downloaded from: http://php.weblogs.com/adodb
 */
include_once( "./adodb/adodb.inc.php" );
include_once( 'DBConn.php' );
include_once( 'PhpDtObject.php' );
/**
 * To get these examples working, you need to include above classes, set up DBConn class and create 
 * next table with INSERT clauses to the table.
 *
DROP TABLE IF EXISTS `test`;
CREATE TABLE `test` (
  `id` int(11) NOT NULL auto_increment,
  `name` varchar(32) NOT NULL default '',
  `age` int(3) NOT NULL default '0',
  `date` date NOT NULL default '0000-00-00',
  PRIMARY KEY  (`id`)
) TYPE=MyISAM AUTO_INCREMENT=4 ;

INSERT INTO `test` VALUES (1, 'Tester', 32, '2004-06-09');
INSERT INTO `test` VALUES (2, 'Quaker', 99, '2004-06-09');
INSERT INTO `test` VALUES (3, 'Bobby', 5, '2004-06-09');
 */
/**
 * Create a new dbconn object with a table name.
 * 
 * You can set database connection variables straight to the class or by setting public field variables
 * after constructing the dbconn object, but BEFORE connect method. Ie.
 *
 * $dbconn = new DBConn( "myTable" );
 * $dbconn->driver = "postgre";
 * $dbconn->server = "localhost";
 * $dbconn->db = "myDatabase";
 * $dbconn->username = "root";
 * $dbconn->password = "******";
 * $dbconn->connect();
 */
$dbconn = new DBConn( "test" );
if( !$dbconn->connect() )
	exit( "Connection to database could not be done! Please check, that DBConn class is properly setted." );
/**
 * Example 1. 
 * 
 * Create a new object and init with known id.
 */
$obj1 = new PhpDtObject( $dbconn );
$obj1->init( 1 );
print "<pre>EXAMPLE 1.<br />";
print_r( $obj1->getIndex() );
print "</pre>";
/**
 * Example 2. 
 *
 * Create object with getOne method and parameter that specifies search criteria
 */
$obj2 = new PhpDtObject( $dbconn );
$params['where'] = "name = 'Bobby'";
$person = $obj2->getOne( $params );
$person->setValue( "age", 33 );
print "<pre>EXAMPLE 2.<br />";
print "<br>" . $person->getValue( "id" ) . "<br>";
print "<br>" . $person->getValue( "name" ) . "<br>";
print "<br>" . $person->getValue( "age" ) . "<br>";
print "<br>" . $person->getValue( "date" ) . "<br>";
print "</pre>";
/**
 * Save modified object to the database.
 *
 * You can make detailed inserts and updates with optional parameters:
 * $params = array( "where"=>"`column1` = 'value1' AND `column2` = 'value2'", "limit"=>"1" );
 * or
 * $params['custom_query'] = "UPDATE table1, table2 SET field = 'value' WHERE id > 1000";
 * $result = $obj2->save( $params );
 */
$person->save();
/**
 * Example 3. 
 *
 * Make a new row to the table.
 */
$obj3 = new PhpDtObject( $dbconn );
//$obj3->setValue( "id", 0 ); 
$obj3->setValue( "name", "myName" ); 
$obj3->setValue( "age", 16 ); 
$obj3->setValue( "date", "2004-06-06" ); 
$obj3->save();
print "<pre>EXAMPLE 3.<br />Saving...</pre>";
/**
 * Example 4. 
 *
 * Delete the row from the database table. 
 * 
 * Change $id number to correspond real table row id number. Delete operation is commented for secure case. Uncomment
 * row 109 if you want example 4 to work.
 *
 * You can make detailed deletes with optional parameters:
 * $params['custom_query'] = "DELETE FROM table1, table2 WHERE id < 100 LIMIT 25";
 * $result = $obj4->delete( $params );
 */
$obj4 = new PhpDtObject( $dbconn );
$obj4->init( 4 );
//$obj4->delete();
print "<pre>EXAMPLE 4.<br />Deleting...</pre>";
/**
 * Example 5. 
 *
 * Get all rows from the database table.
 *
 * You can make detailed searches with optional parameters:
 * $params = array( "select"=>"*", "where"=>"`id` < '10'", "limit"=>"-1", "order_by"=>"id", "order"=>"DESC" );
 * or $params['custom_query'] = "SELECT * FROM table1, table2 WHERE table1.id = table2.id";
 * and then:
 * $objects_array = $obj3->getMany( $params );
 */
$obj5 = new PhpDtObject( $dbconn );
$objects_array = $obj5->getMany();
print "<pre>EXAMPLE 5.<br />";
foreach( $objects_array as $num => $obj )
	print_r( $obj->getIndex() );
print "</pre>";
?>
Return current item: PhpDtObject