帳號登錄
帳號:
密碼:
記住我 | 忘記密碼 | 帳號註冊
網站導覽
模組開發 : 模組基本內容-建立一個 MySql 資料表
作者 elie 於 2010年08月31日 20:59:43 (7956 次閱讀)

原始出處 http://www.xoops.org/modules/mediawiki/index.php/Basic_content_of_a_module

 

建立一個MySql 資料表

幾乎所有的模組都會用到表單與資料庫,所以現在我要告訴你如何建立一個簡單的表單並將內容存入資料庫內。

首先先開啟xoops_version.php 並新增:

<?php

// Tutorial Module

// Created by kaotik

 

$modversion['name'] = "Tutorial";

$modversion['version'] = 1.00;

$modversion['description'] = "This is a tutorial module to teach how to build a simple module";

$modversion['author'] = "KaotiK";

$modversion['credits'] = "KaotiK";

$modversion['help'] = "";

$modversion['license'] = "GPL see LICENSE";

$modversion['official'] = 0;

$modversion['image'] = "images/tutorial.png";

$modversion['dirname'] = "tutorial";

 

// Admin

$modversion['hasAdmin'] = 0;

 

// Menu

$modversion['hasMain'] = 1;

 

$modversion['sqlfile']['mysql'] = "sql/mysql.sql";

$modversion['tables'][0] = "tutorial_myform";

?>

第一行新程式是告訴xoops 資料庫語法sql 檔案的位置。第二行是資料表名稱。從0開始是一個很好的作法。你應該把模組的名稱加在表格名稱前,這麼一來當使用phpmyadmin 管理資料表時你就可以輕易的辨別並找到哪些資料表是屬於哪些模組。這指令是告訴xoops 本模組會建立一個資料表。然而這只是建立資料表的一部分,我們仍然需要告訴xoops 資料表的內容、欄位的名稱與屬性。我們需要建立另外一個sql 目錄。在sql 目錄內建立一個mysql.sql 的檔案。編輯這個檔案如下:

CREATE TABLE `tutorial_myform` (

`tt_id` int(5) unsigned NOT NULL AUTO_INCREMENT,

`name` varchar(30) NOT NULL,

`address` varchar(30) NOT NULL,

`telephone` varchar(30) NOT NULL,

`email` varchar(30) NOT NULL,

PRIMARY KEY (`tt_id`),

INDEX (`name`)

) TYPE = MYISAM;

第一行是告訴xoops 建立一個叫作tutorial_myform 的資料表。第一欄tt_id 是一個數字型態的欄位最多五個數字(int(5)),unsigned 表示不接受負值,NOT NULL 表示不能是空值,auto_increment 表示會自動產生數字,如果上一筆資料的tt_id=5 則下一筆會是tt_id=6。注意:這個欄位使用tt_id 而不使用id 的原因是id 是mysql 保留的變數名稱,也就是說你不能使用。接下來的四個欄位也都差不多。在這裡定義了欄位名稱(name,address,telephone 與email),在這個範例中資料型態(varchar(30))是三十個字元的變數。想了解更多資訊的話請參閱mysql.com。接下來一行定義了PRIMARY KEY。所有的資料表都要有一個主鍵。我通常都會將每個表格的id 編號設定為主鍵,如這個表格的tt_id。當表格內有很多筆資料時,你需要對其他欄位作索引以增加存取速度。我通常都會對最常被參考到的欄位作索引,在這個例子中是"name",這也是為什麼我會用:"KEY name (name)"。注意:在”)TYPE=MyISAM”之前不能有逗號(,)。你也必須注意不能同時對太多欄位作索引,因為每個新的索引都會增加表格的大小。最後我們要定義表格的型態,我自己通常都是使用MyISAM 但是你可以試看看其他不同型態的表格。你可以參考這裡或是這裡

好了。我們已經可以開始下個階段了。為了讓Xoops 產生這個表格我們必須將模組解除安裝,然後再重新安裝。

1-到模組管理介面,取消tutorial 模組的active 勾選狀態。點選Submit 後再次確認。
2-再次回到模組管理介面。
3-點選tutorial 模組前的uninstall 圖示。點選yes 再次確認。你會注意到有一個紅色的錯誤訊息指出無法刪除xxx_tutorial_myform 表格。因為我們在xoops_version 檔案內告訴xoops 我們有一個資料表。
4-回到模組管理介面。
5-安裝tutorial 模組。

現在我們有了一個如同我們期望有一個資料表的xoops 模組了,讓我們繼續吧。


可列印模式 轉寄給朋友

The XOOPS organisation ("XOOPS") is committed to protecting the privacy of users of the XOOPS.org sites.
The website used Ver.2.4.5 POWERED BY XOOPS PROJECT.