(转)PHP根据表结构生成数据库操作类的属性
原文:http://bbs.mambochina.net/viewthread.php?tid=5181
-----------------------
最新更新,自动生成类。
使用:释放到web根下。拷贝你的configuration.php和database.php到释放出的目录下。
执行create_simple_class.php
鼠标点击上面的select,再选表,类就会自动出现在下面的框子里。
生成这个东西
// `id` int(11) NOT NULL default '0'
var $id;
// `published` tinyint(1) default NULL
var $published;
// `name` varchar(200) default NULL
var $name;
// `imageurl` varchar(200) default NULL
var $imageurl;
// `style` varchar(50) default NULL
var $style;
// `ad` tinytext
var $ad;
源代码
<style>
body{font-family
otum Courier New;rfont-size:14px;}</style>
<
RE><?php
$str = "
`id` int(11) NOT NULL default '0',
`published` tinyint(1) default NULL,
`name` varchar(200) default NULL,
`imageurl` varchar(200) default NULL,
`style` varchar(50) default NULL,
`ad` tinytext,
`summary` text,
`type` int(11) default NULL,
`runaddress` varchar(100) default NULL,
`trafficguide` tinytext,
`bookingtel` varchar(50) default NULL,
`bookingtax` varchar(50) default NULL,
`averageconsume` int(7) default NULL,
`runtime` varchar(200) default NULL,
`restdate` varchar(100) default NULL,
`totalseat` varchar(20) default NULL,
`paymethod` varchar(100) default '1',
`park` varchar(30) default NULL,
`service` varchar(50) default NULL,
`boxcosts` varchar(9) default NULL,
`homepage` varchar(100) default '0',
`ordering` int(11) default NULL,
`memo` tinytext,
`created` datetime default NULL,
`created_by` int(11) default NULL,
`modified` datetime default NULL,
`modified_by` int(11) default NULL,
`publish_up` datetime default NULL,
`publish_down` datetime default '0000-00-00 00:00:00',
`hits` int(11) default NULL,
`access` int(11) default '0'";
$arr = explode(',',$str);
for($i=0;$i<count($arr);$i++)
{
//------ // INT(11) AUTO_INCREMENT
//----- var $id=null;
$subarr = explode('` ',$arr[$i]);
$head = str_replace(""r"n","",$arr[$i]);
$head = "//".$head.""n";
$end = str_replace("`","",$subarr[0]);
$end = str_replace(" ","",$end);
$end = str_replace(""r"n","",$end);
$var = " var "$".$end.";"n";
echo $head.$var;
//print_R($subarr);
//print_R( $arr);
//$rea = "/ `/i";
//$re = "/` +.*/i";
//$splitpos = strpos($arr[$i],'` ');
//echo $splitpos;
//$subheadstr = substr($arr[$i],0,$splitpos);
//echo $subheadstr;
//die;
/*preg_match($rea,$arr[$i],$mata);
print_R($mata);
preg_match($re,$arr[$i],$matches);
print_R($matches);die;
*/
}
?>
posted @ 2009-03-05 11:25 胥子维 阅读(85) 评论(0) 编辑
