菜鸟先飞

导航

统计

公告

2009年3月5日 #

(转)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-familyotum 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) 编辑

(转)如何得到 Sql数据库中所有表名,和字段属性以及字段说明信息


1.使用SQL-DMO  

  2.数据库存在sysdatabases中,用户表存在sysobjects中,xtype为U,系统表是S;列信息存在syscolumns中,和表的关系是id

 -------------------------------

 

sp_help什么什么的。。好像可以。    
  要不用ado的Recordset的OpenSchema

----------------

exec   sp_tables  
------------------------------------------

select   *   from   sysobjects   where   type   =   'U'Top

------------------------------------用系统存储过程:  
  打开你要查的数据库如:  
  open   [youdatabasename]  
  再执行  
  exec   sp_tablenames   可以。

posted @ 2009-03-05 00:49 胥子维 阅读(322) 评论(0) 编辑

(转)得到Access数据库中的所有表名

Code

posted @ 2009-03-05 00:41 胥子维 阅读(181) 评论(0) 编辑