<?php
// sample model console script
ini_set("max_execution_time",3);
$start = microtime(true);
include_once("TBit.class.php");
include_once("TEnum.class.php");
include_once("TLob.class.php");
include_once("TNumber.class.php");
include_once("TString.class.php");
include_once("TTimestamp.class.php");
include_once("TypedStruct.class.php");
include_once("TypeSafeStruct.class.php");
# sample sql
/**
*SET FOREIGN_KEY_CHECKS=0;
-- ----------------------------
-- Table structure for city
-- ----------------------------
DROP TABLE IF EXISTS `city`;
CREATE TABLE `city` (
`ID` int(11) NOT NULL AUTO_INCREMENT,
`Name` char(35) NOT NULL DEFAULT '',
`CountryCode` char(3) NOT NULL DEFAULT '',
`District` char(20) NOT NULL DEFAULT '',
`Population` int(11) NOT NULL DEFAULT '0',
PRIMARY KEY (`ID`)
) ENGINE=MyISAM AUTO_INCREMENT=0 DEFAULT CHARSET=latin1;
INSERT INTO `city` VALUES ('1', 'Kabul', 'AFG', 'Kabol', '1780000');
INSERT INTO `city` VALUES ('2', 'Qandahar', 'AFG', 'Qandahar', '237500');
INSERT INTO `city` VALUES ('3', 'Herat', 'AFG', 'Herat', '186800');
INSERT INTO `city` VALUES ('4', 'Mazar-e-Sharif', 'AFG', 'Balkh', '127800');
INSERT INTO `city` VALUES ('5', 'Amsterdam', 'NLD', 'Noord-Holland', '731200');
INSERT INTO `city` VALUES ('6', 'Rotterdam', 'NLD', 'Zuid-Holland', '593321');
INSERT INTO `city` VALUES ('7', 'Haag', 'NLD', 'Zuid-Holland', '440900');
INSERT INTO `city` VALUES ('8', 'Utrecht', 'NLD', 'Utrecht', '234323');
INSERT INTO `city` VALUES ('9', 'Eindhoven', 'NLD', 'Noord-Brabant', '201843');
INSERT INTO `city` VALUES ('10', 'Tilburg', 'NLD', 'Noord-Brabant', '193238');
*/
# sample model
class Model_City extends TypeSafeStruct {
private $int_ID;
private $char_Name;
private $char_CountryCode;
private $char_District;
private $int_Population;
public function __set($key,$value) {
$type = $this->getPropertyType($key);
if($type and $this->hasProperty($key)) {
$this->{$type."_".$key} = $value;
} else {
$this->{"set".$key}($value);
}
}
public function __get($key) {
return $this->{$key};
}
}
// begin data operations
$link = mysql_connect('localhost', 'root', 'pssword');
if (!$link) die('no connection established: ' . mysql_error());
$db = mysql_select_db('tete', $link);
if (!$db)die ('no able to use db: ' . mysql_error());
$result = mysql_query("SELECT * FROM City LIMIT 4;");
if(!$result) die("no result set: ". mysql_error());
// begin view operations
while($row=mysql_fetch_object($result, "Model_City")){
echo $row->getName()->toUpper()->padRight(15);
echo $row->getCountryCode()->toUpper()->padRight(5);
echo $row->getDistrict()->toUpper()->padRight(15);
echo $row->getPopulation()->format(0,",",".");
echo "\n";
}
mysql_close($link);
$end = microtime(true);
echo "\n".number_format($end - $start, 5);
|