首 页   · 站长博客 · 用户注册 · 会员登陆  · 会员排行  ·最新主题  ·最近回复  精华区  版权声明  ·论坛管理
  当前登录身份:游客,请先登录。  笔名: 口令: 验证码:   
楼 主  index »  PHP+MYSQL编程 » ASP论坛转discuz!PHP论坛研究二  


  作者:一起PHP
  注册时间:2004-02-27
  主题/回复:247/1521
  积分:4649
  等级:★★★★★☆(十一级)
  称号:论坛圣人

  nqp@nqp.me
  4304410
  www.nqp.me

 

 发表:2005-07-11 19:48:27 阅读 2233 次 回复 1 次 得分1  |   字号 字色
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;
 }
    }

?>

(未完待续)
 
 1#楼  
 
  回复人:cykk
  注册时间:2004-12-30
  主题/回复:41/99
  积分:688
  等级:★★★(六级)
  称号:声名鹊起

   
 1#楼 发表于2005-07-12 06:48:28  评分:1 

 对了,为什么要先连mysql数据库,后连Access数据库,把顺序换过来行吗?
  页数1/1首页 « 1 » 末页
  发表回复:您还没有登陆,无法发表回复。请先[登陆]

一起PHP技术联盟 主办:一起PHP 联系方式:站长QQ:4304410 QQ群:8423742 20159565 站长博客 E-mail: nqp@nqp.me 执行时间:0.008sec
SimsmaBBS 2008 (v6.0) Developed by 17php.com,Copyright(C)2003-2010 All rights reserved. 副本授权:一起PHP官方专用版