×

thinkphp3.2.3field

包含thinkphp3.2.3field的词条

admin admin 发表于2023-04-02 08:34:08 浏览49 评论0

抢沙发发表评论

本文目录一览:

php thinkphp3.2.3怎么读取数据库某一字段

$user=M('User');

$field='name';

$where='id=1';

$data=$user-field($field)-where($where)-find();

print_r($data);

thinkphp field是什么意思

做数据库查询的时候,比较经常用到这两个,总是查手册,记不住,现在把它总结下,希望以后用的时候不查手册了。

不管是用select 查询数据集,还是用find 查询数据,常配合连贯操作where、field、order等一起使用。

field():用于定义要查询的字段(支持字段排除)

用法:field($field , $except=false)

参数:$field —— 字段名,要查询的字段名;

$except —— 是否排除,默认为false,省略不写;如果为true,表示定义的字段为数据表中排除$field参数定义之外的所有字段

返回值:当前的模型实例

注:不调用field方法,默认返回所有字段,和field( '*' )等效。

需要显式的传入所有的字段,可以使用下面的方法:

$model - field(true) -select() ;

但是建议只获取需要显式的字段名,或者采用字段排除方式来定义,例如:

$model -field( 'status' , true) -select(); //获取除了status之外的所有字段

$model -field( 'id','nickname')-select(); //获取id和nickname字段

getField():用于查询某个字段的值

用法:getField($field, $sepa=null)

参数:$field —— 要获取的字段字符串(多个用逗号分隔)

$sepa —— 字段数据间隔符号,如果是 NULL返回数组为数组。默认为null

返回值:如果查询结果为空返回null,如果field是一个字段则返回该字段的值,如果field是多个字段,返回数组。数组的索引是第一个字段的值,sepa为null则返回二维数组。

示例:当只有一个字段的时候,默认返回一个值。

$User = M("User"); // 实例化User对象

// 获取ID为3的用户的昵称

$nickname = $User-where('id=3')-getField('nickname');

示例:如果需要返回数组:

thinkPHP3.2.3利用Ajax前台实现验证码验证,但通过form表单的按钮提交后,验证码一直错误!如何解决?

验证码一直错误那就是:后台生成的和前台显示的不是同一个验证码,你可以把后台生成的打印出来测试一下。

1:验证码生成代码:

//输入验证码

function verifyimg(){

//验证码做配置

$config = array(

'seKey' = 'ThinkPHP.CN', // 验证码加密密钥

'codeSet' = '2345678abcdefhijkmnpqrstuvwxyzABCDEFGHJKLMNPQRTUVWXY', // 验证码字符集合-thinkphp3.2.3field

'expire' = 1800, // 验证码过期时间(s)

'useZh' = false,

'useImgBg' = false, // 使用背景图片

'fontSize' = 14, // 验证码字体大小(px)

'useCurve' = true, // 是否画混淆曲线

'useNoise' = true, // 是否添加杂点

'imageH' = 45, // 验证码图片高度

'imageW' = 100, // 验证码图片宽度

'length' = 4, // 验证码位数

'fontttf' = '4.ttf', // 验证码字体,不设置随机获取

'bg' = array(243, 251, 254), // 背景颜色

'reset' = true, // 验证成功后是否重置

);

$verify=new Verify($config); //实例化Verify类。 空间类元素引入。使用次数多的情况下。

//verify= new \Think\Verify 完全限定名称方式。 使用次数少的情况下。

$verify-entry(); //数据验证码。

}

2.下面的是一段验证码显示代码:

ul

li class="user_main_text"验证码: /li

li class="user_main_input"

input class="TxtValidateCodeCssClass" id="captcha" name="captcha" type="text"-thinkphp3.2.3field

验证码输出

img src="{$smarty.const.__CONTROLLER__}/verifyimg" onclick="this.src='{$smarty.const.__CONTROLLER__}/verifyimg/'+Math.random()" alt="" /-thinkphp3.2.3field

/li

/ul

希望对你有帮助。

thinkphp3.2.3提示非法操作怎么解决

需要开启debug调试模式,在入口文件开启调试模式,在入口文件index.php 中写入一下代码define(‘APP_DEBUG’,true),然后删除runtime缓存目录,就可以看到具体的错误信息了-thinkphp3.2.3field

你可以去后盾人平台看看,里面的东西不错

thinkphp3.2.3 关于两表关联的问题。

public function lists(){

    $list1 = M('a')-select();//a表所有项目id

    foreach ($list1 as $k1=$v1){

        //通过a表id关联b表uid,查询b表name及每个项目人数

        $list2 = M('b')-where(array('uid'=$v1['id']))-select();

        $list1[$k1]['people_num'] = count($list2);//每个项目人数

        foreach ($list2 as $k2=$v2){

            $list1[$k1]['xiangmu_name'][$k2]['name'] = $v2['name'];//项目名称

        }

    }

    dump($list1);//三维数组,每个项目包含多个人员,html需要volist嵌套循环

    $this-assign('list',$list1);

    $this-display();

}

//以下是打印的结果:

array(2) {

  [0] = array(4) {

    ["id"] = string(1) "1"

    ["xiangmu"] = string(7) "项目1"

    ["people_num"] = int(2)

    ["xiangmu_name"] = array(2) {

      [0] = array(1) {

        ["name"] = string(6) "张三"

      }

      [1] = array(1) {

        ["name"] = string(6) "张四"

      }

    }

  }

  [1] = array(4) {

    ["id"] = string(1) "2"

    ["xiangmu"] = string(7) "项目2"

    ["people_num"] = int(2)

    ["xiangmu_name"] = array(2) {

      [0] = array(1) {

        ["name"] = string(6) "李四"

      }

      [1] = array(1) {

        ["name"] = string(6) "李五"

      }

    }

  }

}

//html代码:嵌套循环

volist name="list" id="vo"

项目编号:{$vo.id}br

项目名称:{$vo.xiangmu}br

项目人数:{$vo.people_num}br

    volist name="list['xiangmu_name']" id="xm_name"

        人员姓名:{$xm_name.name}br

    /volist

/volist