# dbautosite **Repository Path**: dnui_zjs/dbautosite ## Basic Information - **Project Name**: dbautosite - **Description**: 根据数据库自动生成PHP网站 - **Primary Language**: PHP - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-08-03 - **Last Updated**: 2025-08-26 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 数据库管理系统自动生成工具 ## 项目简介 这是一个基于PHP和MySQL的通用管理系统网站生成工具,能够根据您的任意数据库表结构自动生成完整的管理系统网站。为保证好的体验,请尽量将表名、字段名、视图名等都用小写字母配合下划线和数字。 ## 文件结构 - `index.php`: 首页,显示数据库中的表信息 - `generate_site.php`: 生成网站的核心文件 - `config.php`: 数据库配置文件 - `dbname_site/`: 生成的网站文件将保存在此目录(dbname为您的数据库名称) ## 如何使用 1. 确保您已安装phpstudy_pro并启动了MySQL服务 2. 创建您的目标数据库 3. 导入您的数据库表结构 4. 通过浏览器访问`http://localhost`或您设置的域名 5. 点击"生成网站"按钮,系统将根据数据库表结构生成完整网站 6. 生成的网站位于与您数据库同名的_site目录中 7. 完成生成后,您可以通过`http://localhost/dbautosite/[您的数据库名]_site`访问网站 **注意**:修复后的generate_site.php文件已确保生成的页面变量准确且标题使用中文,无需再运行修复工具。 ## 数据库配置 如果您的数据库连接信息与默认配置不同,请修改`config.php`文件: ```php // 数据库配置信息 define('DB_HOST', 'localhost'); define('DB_USERNAME', 'root'); define('DB_PASSWORD', 'root'); define('DB_NAME', 'your_database_name'); // 替换为您的数据库名称 ``` ## 注意事项 - 本系统需要PHP 7.0或更高版本 - 确保您的MySQL服务正在运行 - 首次使用前请确保已创建您的目标数据库 ## 数据库设计要求 为了确保系统能够正确生成和运行,您的数据库设计应遵循以下要求: 1. **表结构基础要求**: - 各个表的主键设置为id - 各个表中包含名称的字段(通常是第二个字段),必须采用以下命名形式之一,其中`$singular_table`为表名: - `$singular_table . 'name'`(如:`username`) - `$singular_table . '_name'`(如:`user_name`) - `$singular_table . 'Name'`(如:`userName`) - 直接使用`'name'` - 直接使用`'title'` - 直接使用`'description'` - 直接使用`'label'` 2. **符合三范式**: - 第一范式:确保每列都是不可分割的原子值 - 第二范式:确保表中的非主键列完全依赖于主键 - 第三范式:确保表中的非主键列不依赖于其他非主键列 3. **使用InnoDB引擎**: - 确保所有表都使用InnoDB存储引擎,以支持事务和外键约束 - 创建表时指定:`ENGINE=InnoDB` 4. **设置外键**: - 对于存在关联关系的表,应正确设置外键约束 - 外键应引用关联表的主键 5. **联合主键的使用**: - 当一个表需要多个外键来唯一标识记录时,应使用联合主键 - 避免使用自增ID作为主键,而是使用相关表的外键组合作为联合主键 遵循以上设计要求将有助于提高数据库的完整性、一致性和性能,同时确保系统能够正确解析和生成相应的管理界面。 ## 视图配置 系统提供了`resource/view_names.php`文件作为视图配置的替代方案。此文件不仅可以配置视图的中文名称,还可以指定视图对应的基本表和主键映射关系。当无法从数据库中查询到视图的中文注释或需要自定义视图行为时,系统会自动使用此文件中的配置。 ### 配置项说明 每个视图的配置包含以下项: - `name`: 视图的中文名称 - `manage`: 是否提供添加、编辑和删除 - `base_tables`: 视图对应的基本表数组 - `primary_keys`: 视图主键与基本表主键的映射数组(格式:`'视图.主键字段' => '基本表.主键字段'`) ### 使用方法 1. 打开`resource/view_names.php`文件 2. 按照以下格式添加或修改视图配置: ```php '视图名称' => array( 'name' => '中文名称', 'manage' => true,//提供添加、编辑和删除 'base_tables' => array('基本表1', '基本表2'), 'primary_keys' => array('视图.主键字段' => '基本表.主键字段') ) ``` 3. 保存文件后,系统会在生成网站时自动使用这些配置 ### 示例 ```php $viewConfig = array( 'view_book' => array( 'name' => '图书视图', 'manage' => true,//提供添加、编辑和删除 'base_tables' => array('book'), 'primary_keys' => array() ), 'v_news_detail' => array( 'name' => '新闻详情视图', 'base_tables' => array('news'), 'primary_keys' => array('news_id' => 'id') ), // 可以根据需要添加更多视图配置 ); return $viewConfig; ``` **注意**:请确保此文件中的视图名称与数据库中的实际视图名称完全一致,否则可能导致配置无法正确应用。