2017/04/20

来源:互联网 发布:淘宝企业店铺审核时间 编辑:程序博客网 时间:2024/06/14 16:24

今天学到了什么--php菜鸟

一.先说ajax异步刷新这块吧,最近在做记账系统,主要是对数据的查询和编辑位置

ajax异步刷新:

$post('后台地址',{属性名:属性值,属性名:属性值},function(data){

if(data.status == 0){

alert(data.msg);

}else{

alert(data.msg);

}

},'json');

data:包含 data 对象,这里返回的data是个数组对象

$status=array(        'status'=>0,        'msg'=>''    );
其中msg存放提示信息
二.就来说一下今天的进度吧

1.在录入数据的这一部分,要求新录入的科目代码的前x位要等于其父级科目的代码

步骤:1.创建属性status 2.创建属性并赋值(从前台传来的数据)3.判读用户是否登录4.对数据进行合理性判断和合法性判断.5.把数据插入到数据库.

if($act == 'accounting_indata'){ $status=array(            'status'=>0,            'msg'=>''    );   $name=isset($name)?$name:'';   $number=isset($number)?(int)$number:0;   $pid = isset($pid)?$pid:'';   //未登录请登录   if(is_array($userinfo)){        if($name ==''){            $status['status']=2;            $status['msg']='科目名称不能为空';            echo json_encode($status);exit();        }        if($number <= 0 ){            $status['status']=2;            $status['msg']='科目代码不能为空';            echo json_encode($status);exit();        }        if($pid == ''){            $status['status']=2;            $status['msg']='请选择所属科目';            echo json_encode($status);exit();        }else{            $pid = (int)$pid;        }        $km_name = SelectOne('kemu',"(`name`='$name') or (`number` ='$number') and `delete`=0");        if($km_name['total'] >= 1){            $status['status']=3;            $status['msg']='你输入的数据已存在';            echo json_encode($status);exit();        }        $km_number = 'select number from `#@__kemu` where `id`='.$pid;        $gkm_number = getAll($km_number);        $gkm_num = $gkm_number['data']['0']['number'];        $w = strlen($gkm_num);        if($gkm_num!=substr($number,0,$w)){            $status['status']=3;            $status['msg']='科目代码格式错误';            echo json_encode($status);exit();        }                if($pid >  0 ){            $km_pid = SelectOne('kemu',"`id`= '$pid' and  `delete` = 0");            if($km_pid['total']  < 1){                $status['status']=3;                $status['msg']='所属科目不存在';                echo json_encode($status);exit();            }          }        $data = array(                        'name'=>$name,                        'number'=>$number,                        'pid'=>$pid,                        'create_time'=>time()                    );        if(Insert('kemu',$data)){            $status['status']=1;            $status['msg']='添加成功';        }else{             $status['status']=3;            $status['msg']='添加失败';          }   }else{        $status['status']=2;        $status['msg']='请登录';    }    echo json_encode($status);    exit();}

由于是个菜鸟:所以我想了很久怎么把录入数据库的数据输出到页面.

还是要记录一下,当数据入库后,就可以在前台代码中对数据进行操作--编写php代码,对数据库进行操作--查询数据,并用无限极分类找到所有数据

$sql = 'select * from `#@__kemu`';$all = getAll($sql);//echo '<pre>';var_dump($all);/** * 获取家谱树 * @param   array        $data   待分类的数据 * @param   int/string   $pid    要找的祖先节点 */function Ancestry($data , $pid,$lev = 1) {    static $ancestry = array();    foreach($data as $value) {        if($value['pid'] == $pid) {            $value['lev'] = $lev;            $ancestry[] = $value;            Ancestry($data, $value['id'],$lev+1);            // var_dump($value);         }    }    return $ancestry;}$b=Ancestry($all['data'], 0);
然后就可以在html的代码用数据就行了

例如,下拉列表的数据

<select>                        <?php                            foreach ($b as $v) {                                if($v['pid']==0){                                    echo '<option value='.$v['id'].'>'.$v['name'].'</option>';                                }else if($v['pid']==1){                                    echo '<option value='.$v['id'].'>----'.$v['name'].'</option>';                                }else if($v['pid']==2){                                    echo '<option value='.$v['id'].'>----------'.$v['name'].'</option>';                                }                            }                        ?>                    </select>



0 0
原创粉丝点击