<?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>"; ?>