TXT树形分类文本一键导入数据库(快速无限极分类方法)

TXT文本格式


一级分类

    二级分类

        三级分类

一级分类

    二级分类

一级分类

.....


(注意:一级分类前不能有TAB键,每层分类前面加一TAB键)


以下是PHP处理代码


    

public function txt_category_to_mysql(){
$ceng = 0;
$arr = file('Public/fenlei.txt');
foreach($arr as $k=>$v){
if(strrpos($v,"") === false){
$fid = 0;
}else if(strrpos($v,"") > $ceng || $ceng === false){
$fid = $id;
}else if(strrpos($v,"") === $ceng){
$row = M('category')->where("id = '$id'")->find();
$fid = $row['fid'];
}else{
$fid = $this->txt_category_to_mysql_get_father_category($ceng - strrpos($v,""),$id);
}
$ceng = strrpos($v,"");
$name = str_replace("",'',$v);
$name_arr = explode(',',$name);
if($name_arr[1]){
$type = $name_arr[1];
}else{
$type = $father_type;
}
$id = M('category')->add(array('name'=>str_replace("",'',$v),'fid'=>$fid,'postTime'=>time()));
//插入数据库,这个是ThinkPHP的SQL操作,请自行更换适合你的SQL语句,数据如上
}
}
public function txt_category_to_mysql_get_father_category($ceng,$id){
$row = M('category')->where("id = '$id'")->find();
$fid = $row['fid'];
for($i=0;$i<$ceng;$i++){
$row = M('category')->where("id = '$fid'")->find();
            //这个是ThinkPHP的SQL查询,请自行更换适合你的SQL语句,数据如上
$fid = $row['fid'];
if($fid === 0){
break;
}
}
return $fid;
}


你可能感兴趣的:(文本导入数据库,树形文本分类导入数据库)