2012-01-19 47 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); 

(注:这是写在现场作为一个例子,并没有在所有被测试,所以不要指望它神奇的工作,如果你只是复制粘贴)