使用DEDE的全国地区分类导入到其它CMS

 因为要用到全国地区分类,直接查看了DEDE的数据库,发现有个表已经帮我们搞定了,那就是dede_area表,利用这个表,我们可以将其处理后,变成任何我们需要的格式的地区分类

处理过程是这样的,分两步进行,第一步,先将一个地区和它的所有地区插入表格,不处理父子关系;第二步,专门去用update去处理父子关系,对应到本表格,是将一个节点的所有孩子的ID保存到本节点的一个字段,程序如下:


<?php
require_once './db.class.php';
$db = new DB();
$sql = "select * from dede_area where reid='0';";
$rs = $db->query($sql);
while($row = $db->getRows($rs)){
    $sql1 = "insert into brand_categories(upid,type,name,note,subcatid) values(0,'region','".$row['name']."','','')";
    $db->query($sql1);
    $insertId = mysql_insert_id();
    $sql2 = "select * from dede_area where reid='".$row['id']."';";
    $rs2 = $db->query($sql2);
    while($row2= $db->getRows($rs2)){
        $sql3 = "insert into brand_categories(upid,type,name,note,subcatid) values('".$insertId."','region','".$row2['name']."','','')";
        $db->query($sql3);
    }
}
$sql = "select * from brand_categories where type='region';";
$rs = $db->query($sql);
while($row = $db->getRows($rs)){
    $str = '';
    $str .= $row['catid'];
    $sql = "select * from brand_categories where upid='".$row['catid']."';";
    $rs2 = $db->query($sql);
    while ($row2 = $db->getRows($rs2)){
        $str .= ", ".$row2['catid'];
    }
    $sql2 = "update brand_categories set subcatid='".$str."' where catid='".$row['catid']."'";
    $db->query($sql2);
}
?>

 

相关推荐

Leave a Comment