2012-01-19 94 views
0

我使用的是Joomla 1.7,我有一個小問題,並想知道是否有人可以提供幫助。我在我的網站上安裝了一個組件,用戶可以使用它來創建播放列表。它們存儲在一個表格中,該表格包含名稱,用戶ID,播放列表ID,播放列表名稱和歌曲等字段。每首歌都有一個唯一的ID,播放列表保存在如下字段中:7,2,4,68,70。導出/導入表格函數

id喜歡做的是創建一個導入/導出功能。我認爲導出最簡單的方法是將用戶播放列表導出爲一個sql文件。然後,爲了導入一個sql文件,它的字段將被讀取,並且僅使用歌曲字段和名稱字段來創建新的播放列表表格。用戶ID字段將填入當前用戶並且播放列表ID字段與現有播放列表ID相匹配,並分配新的播放列表ID。

現在我知道,當前播放列表的創建是由該組件在組件/ com_muscol/models.php

我開始嘗試創建函數管理,但是我對如何將數據導出爲一點點的失落一個SQL文件:

function get_mysql(){ 
    $db =& JFactory::getDBO(); 

    $query = 'SELECT pl.*, us.name AS username FROM #__muscol_playlists AS pl   LEFT JOIN #__users AS us ON us.id = pl.user_id WHERE pl.id = ' . $this->_id ; 
    $this->_db->setQuery($query); 
    } 

感謝您的幫助......

回答

1

將數據導出爲SQL,通過它只是循環。像這樣的東西應該工作:

$sql = array(); 
$query = mysql_query("YOUR QUERY HERE"); 

while($result = mysql_fetch_assoc($query){ 
    $cols = array('user_id'); // put ID's etc. into $cols and $vals 
    $vals = array($user_id); 
    foreach($result as $col => $val){ 
     $cols[] = $col; 
     $vals[] = $val; 
    } 
    $sql[] = "INSERT INTO `#__muscol_playlists` (`".implode('`,`', $vals)."`) VALUES('".implode('`,`', $cols)."')"; 
} 

echo explode("\n", $sql); 

(注:這是寫在現場作爲一個例子,並沒有在所有被測試,所以不要指望它神奇的工作,如果你只是複製粘貼)