美文网首页
ThinkPHP3.2易遗忘点

ThinkPHP3.2易遗忘点

作者: 若是如风 | 来源:发表于2017-06-23 09:26 被阅读0次

一. 自己创建了一个公共类,里面写了个构造函数,主要是获取当前类名的数据库表,很方便.

Paste_Image.png

二.判断登录与注销

Paste_Image.png

三.sql语句where的三个写法

第一个方法

where的条件是""括起来的

第二个方法

Paste_Image.png
Paste_Image.png

第三个方法

Paste_Image.png

四.js请求,返回数组的详解

Paste_Image.png
Paste_Image.png

在我选择产品后,NO和价格的输入框会自己显示对应的值.

html里面写个下拉列表,选择产品里的数据也是php传过来的数组,所以foreach遍历在赋值,
selectselChange()方法的参数是获取当前optiondevalue

<select style="width:auto;" onchange="selChange(this.options[this.options.selectedIndex].value)">
    <option value="">选择产品</option>
    <foreach name="result" item="val">
        <option value="{$val.id}">{$val.pro_name}</option>
    </foreach>
</select>

js里方法selChange方法的实现
content是返回的结果,但是是json格式,需要强转成对象

function selChange(id){

        var url = '';
        url = '/home/purchase/add/id/'+id;
        $.get(url,function (content) {
            //json转成对象
            var data = eval('('+content+')');
            $('#no').val(data.no);
            $('#price').val(data.price);
        });
    }

php里的实现,因为js是get请求的,并提交一个id,所以我们直接走if (!empty($_GET))
这里获取数据使用find()查询的,因为条件是id,唯一的,所以直接查一个数据
获取的$select是一个数组,转成json格式后,输出.

public function add(){

        //第一次进来把,所有数据传到下拉列表里
        $product = D('product');
        $result = $product->select();
        if (count($result) != 0){
            $this->assign('result',$result);
        }

        //选择下拉列表后走此,获取数组,转成json传到前面
        if (!empty($_GET)){
            $id = $_GET['id'];
            $select = $product->where("id=$id")->find();
            //把数组转成json
            echo json_encode($select);
            exit();
        }
        $this->view();
    }

五.修改某字段所有值

我有一个USER表 里面有个字段是def 有10条数据 我想全部修改成0该如何写
//把地址表def字段全部改成0

$user=M('User');
$data=array('def'=>0);
$user->where("1=1")->setField($data);

相关文章

网友评论

      本文标题:ThinkPHP3.2易遗忘点

      本文链接:https://www.haomeiwen.com/subject/zogoqxtx.html