17
2014-01

如何用thinkphp框架开发地区管理功能

thinkphp地区管理功能的实现,实现效果图:

image

数据库结构,生成数据库:

CREATE TABLE `sp_region` (
      `Id` INT(11) NOT NULL AUTO_INCREMENT,
      `parent_id` INT(11) DEFAULT NULL,
      `region_name` VARCHAR(120) CHARACTER SET gbk DEFAULT NULL,
      `region_type` SMALLINT(5) DEFAULT NULL,
      `agency_id` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
      `is_show` SMALLINT(5) NOT NULL DEFAULT '0',
      PRIMARY KEY (`Id`)
    ) ENGINE=MYISAM AUTO_INCREMENT=3417 DEFAULT CHARSET=utf8 COLLATE=utf8_bin

前台代码:

<form name="form1" method="post" id="myfrom" action="__URL__/add">
       <table class="table_form" style="border:0;">
           <tr>
               <th align="left">
               {if $region_type=3}{$regionts}:
                   <input type="text" class="text-input" name="region_name" >
                   <input type="hidden" name="region_type" value="{$region_type}" />
                   <input type="hidden" name="parent_id" value="{$Id}" />
                   <input type="submit" class="buttonAdd" value="提交操作"/>
               {/if}
                   <a href="{:U('Association/region',array("regiontype"=>$region_typeyuanshi,'parentid'=>$fuID))}">返回上一级</a>
               </th>
           </tr>
       </table>
   </form>
   <div class="fl" style="border:1px solid #66CCFF;">
       <table width="100%" border="0" cellpadding="0" cellspacing="0" >
           <tr><td height="15" style="background:#66CCFF; margin-top:0px; ">{$region_type}</td></tr>
           <tr bgcolor="#FFFFFF">
               <td>
                   <present name="list">
                   <volist name="list" id="vo">
                       <div class='regionys'><span id="regionname{$vo['Id']}">{$vo['region_name']}</span><span>|</span>
                       {if $region_type=3}
                           <a href="{:U('Association/region',array("regiontype"=>$region_type,'parentid'=>$vo['Id']))}">管理</a>
                       {/if}
                       <a href="{:U('Association/delRegion',array("regionid"=>$vo['Id'],'parentid'=>$vo['Id']))}" >删除</a></div>
                   </volist>
                   <else />
                       <div class='regionys'>暂无地区</div>
                   </present>
               </td>
           </tr>
           <tr><td height="5" style="background:#fff; margin-top:0px; "></td></tr>
       </table>
   </div>
   <p class="i">
       <font color="red">注视:</font>1级地区:国家 2级地区:省份 3级地区:市级 4级地区:县/区
   </p>

php代码:

public function region(){
        $parent_id = intval(trim($_GET['parentid']));//父ID
        $region = D("region");
        $regionarr = $region->where(" parent_id=".$parent_id)->select();
        if( $_GET['regiontype']==""  ){
            $region_type = '0';
            $regionts = "新增1级地区";
        }else{
            if($regionarr[0]['Id'] == ""){
                //取出上一级的region_type
                $regiontypearr = $region->where('id='.$parent_id)->field('region_type')->find();
                $region_type = $regiontypearr['region_type']+1;
            }else{
                $region_type = $regionarr[0]['region_type'];
            }
            $regionts = $region_type+1;
            $regionts = "新增".$regionts."级地区";
        }
        $this->assign("region_type",$region_type);//属于省份还是市
        $region_typeyuanshi=$region_type-1;
        $this->assign("region_typeyuanshi",$region_typeyuanshi);
        $this->assign("regionts",$regionts);//文字提示
        if(  $regionarr[0]['parent_id'] != 0){
            $fuidarr = $region->where("id=".$regionarr[0]['parent_id'])->find();//用fuID去取fuID的parent_id;
            $this->assign("fuID",  $fuidarr['parent_id']  );//返回上一级的时候,取的fuID
        }
        if( $region_type == 0 ){
            $this->assign('Id',  '0' );
        }else{
            $this->assign('Id', $parent_id );
        }
        $this->assign('list',$regionarr);
        $this->display();
    }
    function delRegion(){
        $region = D("Region");
        //删除
        if( $_GET['regionid'] != "" ){
            //先判断是否有子分类
            $regionid= intval( $_GET['regionid'] );
            $ziarr = $region->where("parent_id=".$regionid)->select();
            if( $ziarr[0]['Id'] != "" ){
                $this->error("请先删除子分类!");
            }else{
                $region->Id=$regionid;
                if($region->delete()){
                    $this->success();
                }else{
                    $this->error("删除失败");
                }
            }
        }
    }
    public function add(){
        $Region = D('Region');
        $region_name=trim($_POST['region_name']);
        if(!$region_name) $this->error("新增地区不能为空!");
        $Region->region_name = $region_name;
        $Region->region_type = trim($_POST['region_type']);
        $Region->parent_id   = trim($_POST['parent_id']);
        if($Region->add()){
            $this->success('添加成功!');
        }else{
            $this->error($Region->getError());
        }
    }

本文转摘自运达's blog  原文地址:http://www.yunda51.com/1136.html


除非注明,文章均为史亚永原创,欢迎转载!转载请注明本文地址,谢谢。

本文地址:http://www.shiyayong.cn/post/247.html

评论列表:

6  tester  2014-3-28 10:37:39 回复该留言  IP:124.193.113.66
很好很强大。收藏了
tester
5  网赚客  2014-2-3 21:20:12 回复该留言  IP:27.12.204.214
经验文章啊
网赚客
4  李明  2014-1-31 22:16:59 回复该留言  IP:222.166.119.75
新春快乐,马到功成!
李明
3  22  2014-1-19 19:56:45 回复该留言  IP:222.129.40.128
周日的晚上,好好休息,明天继续战斗
22
2  爱浮夸  2014-1-19 19:30:37 回复该留言  IP:211.97.11.221
好像很牛的样子。
  茶馆老板  2014-5-29 21:22:06 回复该留言  IP:106.120.181.131
没有啦
茶馆老板
爱浮夸
1  泽敏seo博客  2014-1-18 13:03:57 回复该留言  IP:116.18.217.58
很,这个可以学习下了
  茶馆老板  2014-5-29 21:17:10 回复该留言  IP:106.120.181.131
这个是转摘朋友的文章,自己研究过thinkPHP但是一直没有成品呢
茶馆老板
泽敏seo博客

发表评论:

(设置个性头像)

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

无觅相关文章插件,快速提升流量