ASP论坛转discuz!PHP论坛研究二 |
-------------------------------------------------------
阅读本文前请务必先阅读
ASP论坛转discuz!PHP论坛研究(一)
http://www.17php.com/bbs/show_title.php?id=1181
-------------------------------------------------------
转换论坛板块、子板块及分类
conv_catandfourm.php
<?php
$myid=mysql_connect("localhost","root","1234");
mysql_select_db("discuz2",$myid);
$id=odbc_connect("bbs","","");
echo "->连接到mysql数据库成功!<br>";
if(!$id){
echo "<font color=red>->无法连接到ACCESS数据库</font><br>";
exit;
}else{
echo "->连接到ACCESS数据源成功!<br>";
echo "->准备构建一个临时表(该表为转换临时所用,转换完成后会自动删除,请勿手工删除)<br>";
mysql_query("drop table temptable");
mysql_query("create table temptable(befores int(4),afters int(4))");
echo "->临时表temptable创建成功<br>";
if($result=odbc_exec($id,"select * from Forum_Category")){
echo "->准备转换论坛板块(含子板块):<br><font color=red>转换时间取决于数据量大小,如时间较长请耐心等待</font><br>";
$i=0;
$k=0;
while(odbc_fetch_row($result)){
$i++;
// odbc_result$result)
$sql="insert into cdb_forums values('','0','group','','".odbc_result($result,"CAT_NAME")."','','1','0','','0','0','0','','0','0','0','0','','-1','','','','')";
mysql_query($sql,$myid);
$sql="select * from cdb_forums where name='".odbc_result($result,"CAT_NAME")."'";
$tr=mysql_query($sql,$myid);
if(mysql_num_rows($tr)>0){
echo "<font color=blue>第".$i."个分类已经转换,准备转换其子板块..(各个子板块的总主题数和回复数从头开始统计)</font><br>";
$trr=mysql_fetch_array($tr,MYSQL_ASSOC);
if($rs2=odbc_exec($id,"select * from Forum_List where CAT_ID=".odbc_result($result,"CAT_ID"))){
$cc=0;
while(odbc_fetch_row($rs2)){
$cc++;
$finfo=odbc_result($rs2,"ForumInfo");
$finfo=strstr($finfo,">");
$sql="insert into cdb_forums values('','".$trr["fid"]."','forum','','".odbc_result($rs2,"ForumName")."','".$finfo."','1','0','','0','0','0','','1','0','1','1','','-1','','','','')";
mysql_query($sql);
$sql="select * from cdb_forums where name='".odbc_result($rs2,"ForumName")."'";
$aaa=mysql_query($sql);
$aaa2=mysql_fetch_array($aaa,MYSQL_ASSOC);
$sql="insert into temptable values(".odbc_result($rs2,"Forum_ID").",".$aaa2["fid"].")";
mysql_query($sql);
echo "-->>第".$cc."个子板块完成!<br>";
}
}
}else{
echo "第".$i."个总板块转换错误!";
exit;
}
}
echo "<br>共转换数据:".$i."个大板块。<br>";
echo "<font color=red>再次提示:</font>由于转换帖子的需要,在转换板块时创建了一个临时表temptable,请勿手工删除此表!";
}else{
echo "->access数据库查询失败!";
exit;
}
}
?>
(未完待续)
|
|
|