教程栏目

joomla中文网出品的官方教程

在这一章中,我们将会介绍如何使用数据库。以及在数据库中创建数据表。

 现在数 据也能获取了,下一个要做的就是将数据储存到数据库。记得在模块开发中介绍组件和模块的区别吗?其中谈到,对于程序员一个最大的区别就是组件可以创建自己 的数据表,而模块不能。OK,组件确实可以创建数据表,那么在什么时候创建,在什么地方创建。答案就是组件的安装过程中。

 组件的文件夹结构如下:(加色部分为文件)

  • guestbook.xml
  • admin
    • sql
      • updates
        • mysql
          • 0.0.1.sql
      • install.mysql.utf8.sql
      • uninstall.mysql.utf8.sql
  • site
    • css
      • guestbook.css
    • views
      • guestbook
        • view.html.php
        • tmpl
          • default.php
          • default.xml
    • controller.php
    • guestbook.php

 

修改guestbook.xml(安装自述文件)

<?xml version="1.0" encoding="utf-8"?>
<extension type="component" version="2.5.0" method="upgrade">

<name>guestbook</name>
<!-- The following elements are optional and free of formatting constraints -->
<creationDate>2013-9-26</creationDate>
<author>min.zhang</author>
<authorEmail>这个 E-mail 受反垃圾邮件程序保护,您需要启用 JavaScript 才能查看。</authorEmail>
<authorUrl>http://www.zmax99.com</authorUrl>
<copyright>All right @zmax</copyright>
<license>License</license>
<!-- The version string is recorded in the components table -->
<version>0.0.1</version>
<!-- The description is optional and defaults to the name -->
<description>这是一个留言板组件</description>

<install> <!-- run on install-->
<sql>
<file driver="mysql" charset="utf8">sql/install.mysql.utf8.sql</file>
</sql>
</install>

<uninstall>
<sql>
<file driver="mysql" charset="utf8">sql/uninstall.mysql.utf8.sql</file>
</sql>
</uninstall>

<update>
<schemas>
<schemapath type="mysql">sql/updates/mysql</schemapath>
</schemas>
</update>

<files folder="site">
<filename>guestbook.php</filename>
<filename>controller.php</filename>
<folder>views</folder>
<folder>css</folder>
</files>

<administration>
<menu>留言本</menu>
<files folder="admin">
<folder>sql</folder>
</files>
</administration>

</extension>

install.mysql.utf8.sql文件内容如下:

DROP TABLE IF EXISTS `#__guestbook`;
CREATE TABLE IF NOT EXISTS `#__guestbook`(
`message_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`message_subject` varchar(100) NOT NULL DEFAULT '',
`message_content` varchar(512) NOT NULL DEFAULT '',
`message_author` varchar(25) NOT NULL DEFAULT '',
`message_author_email` varchar(50) NOT NULL DEFAULT '',
`message_time` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
`message_publish` int(2) NOT NULL DEFAULT '1',
`message_user_id` int(10) NOT NULL DEFAULT '0',
PRIMARY KEY(`message_id`)
)ENGINE = MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;

uninstall.mysql.utf8文件内容如下:

DROP TABLE IF EXISTS `#__guestbook`;

updates的内容暂时不管。

添加了这些文件。打包安装。安装成功后检查数据库,发现多了一张guestbook的数据表:

 

说明数据库表已经成功新建。

说一下上面的代码,主要是guestbook.xml中的代码

我们用到了一个files的folder属性

<files folder="admin">
<folder>sql</folder>
</files>


这个属性的意思就是说,告诉joomla请将下面的文件拷贝到administrator的componets目录下。其他的都没什么好说的。

请特别小心书写xml文件中的文件名,不要出现错字。不然安装出错。并且这样的错误很难检查发现。

到现在为止,我们有了数据库表了。下一步将解决如何将前台接受的数据存储到数据库中。

评论 (0)

  • 最新在前
  • 最佳在前

第1章 Joomla入门教程

第3章 C计划

第5章 E计划

第6章 H计划

第7章 G计划

第9章 运行环境

第11章 主从与集群

第12章 模块开发

第13章 插件开发

第14章 j2.x组件开发教程

第15章 页面定制教程

第16章 页面构造器

第17章 joomla升级