2011-12-14 74 views
0

我已經創建了一些掛鉤在幾個WHMCS鉤子上的函數。我的一些功能需要成爲我爲我的功能創建的數據庫中的新表。WHMCS,我怎樣才能運行代碼只有一次

我喜歡做的是以編程方式將表創建爲數據庫,但運行只生成一次表的代碼並且再也不運行該代碼。

如何做到這一點有什麼辦法或好主意?

回答

1

在我WHMCS模塊,我已經創建的,我用的是以下邏輯:

if(!mysql_num_rows(mysql_query("SHOW TABLES LIKE 'modulename_%'"))) { 

    // there are no tables in the database for our module so we need to create them 

} 

我然後使用以下命令來創建數據庫:

$createTable[] = 'CREATE TABLE IF NOT EXISTS `modulename_table` (`id` int(11) NOT NULL auto_increment, PRIMARY KEY (`id`)) ENGINE=MyISAM DEFAULT CHARSET=latin1;'; 

我有很多這些,而我

$createTableCount = 0; 
for($s=0,$e=count($createTable); $s<$e; $s++){ 
     $query = mysql_query($createTable[$s]); 
     if($query) 
      $createTableCount++; 
} 

我那麼每列添加到表中:然後通過運行一個循環

$alterTable[] = 'ALTER TABLE `modulename_table` ADD `something` int(11) NOT NULL;'; 

我也運行一個循環 - 這允許我添加新的列/表並重新運行安裝腳本並添加任何不存在的列/表。

+0

蝙蝠邏輯,每次用戶進入網站時都會查詢數據庫。我沒有創建一個模塊,只是掛在WHMCS鉤子上的函數。 – 2011-12-14 09:42:00

相關問題