我正在使用Joomla 1.7并且我遇到了一些问题,并且想知道是否有人可以提供帮助。我的网站上安装了一个组件,用户可以使用该组件创建播放列表。它们存储在一个表中,该表包含名称,用户ID,播放列表ID,播放列表名称和歌曲的字段。每首歌都有一个唯一的ID,播放列表保存在如下字段中:7,2,4,68,70。
id喜欢做的是创建导入/导出功能。我认为导出最简单的方法是将用户播放列表表导出为sql文件。然后,为了导入sql文件,将读取其字段,并且仅使用歌曲字段和名称字段创建新的播放列表表。用户ID字段将填入当前用户,并根据现有播放列表ID检查播放列表ID字段,并分配新的播放列表ID。
现在我知道当前的播放列表创建由components / 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 );
}
感谢您的帮助......
答案 0 :(得分: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);
(注意:这是作为一个例子在现场写的,并没有经过测试,所以如果你只是复制它就不要指望它神奇地工作)