TP框架---thinkphp查询和添加数据

查询

<?php
namespace Admin\Controller;
use Think\Controller;
class MainController extends Controller
{
    public function showList()
    {
        echo "大苹果商城";
    }

    public function test()
    {
        //数据访问
        //造模型对象
        //$nation = D("Nation");//连接数据库中的Nation表

        //查询
        //$a = $nation->select();//查询所有,返回关联数组,也是二维数组。
        //$a = $nation->select("n001,n002,n003");//通过主键值查,注意写法。

        //$a = $nation->find();//查一条数据,返回一维数组。
        //$a = $nation->find("n001");//按照条件查询

        //$a = $nation->where("name=‘汉族‘or name=‘回族‘")->select();//where()只能写查询条件。select才会输出,select返回的是二维数组。这种操作称为连贯操作

        //$a = $nation->table("info")->select();//table切换其它表格查询表格信息。上面虽然是链接的Nation表,这里切换到info表格。

        //$a = $nation->field("code")->select();//查询指定字段,这里查询的是code列,多个字段中间用,分隔。

        //$a = $nation->order("code desc")->select();//code按照降序排列

        //$a = $nation->limit(3)->select();//查询前3条数据,limit分页查询。
        //$a = $nation->limit(3,4)->select();//跳过3条显示4条

        //$a = $nation->page(2,3)->select();//page中第一个参数是第几页,第二个参数是几条数据。这里是取第2页的3条数据。

        //$a = $nation->table("car")->field("Brand,avg(price)")->group("brand")->select();//分组查询

        //$a = $nation->table("car")->field("Brand,avg(price)")->group("brand")->having("avg(price)>50")->select();//having条件查询

        //$a = $nation->field("Info.code,Info.name as ‘name‘,nation.name as ‘民族‘")->join("Info on Nation.code=Info.Nation")->select();//用join连接的时候前面的field的列要加上别名,不然会出问题。

        //$a = $nation->table("car")->distinct(true)->field("brand")->select();//distinct去重

        //$a = $nation->where("code=‘n003‘")->getField("name");//只能写列名,获取某一列的值。

        //$a = $nation->count();//也可以放在连贯操作的最后用,求出数据量。

        //$a = $nation->table("car")->max("price");

        //使用原生的查询方法
        //$sql = "select * from nation";
        //$a = $nation->query($sql);//查询语句还是按照原来的调用方法。

        //$sql = "update nation set name=‘矮人族‘ where code=‘n001‘";
        //$a = $nation->execute($sql);//增、删、改语句用execute调用。

        //var_dump($a);
    }
}

添加

<?php
namespace Admin\Controller;
use Think\Controller;
class MainController extends Controller
{
    public function showList()
    {
        echo "大苹果商城";
    }

    public function test()
    {
        $nation = D("Nation");//连接数据库中的Nation表

        //数据添加
        //1.使用数组添加,数组必须为关联数组,索引为列名。
        //$attr = array("Code"=>"n090","Name"=>"虫族");
        //$nation->add($attr);

        //2.AR方式实现数据添加
        //$nation->Code = "n030";
        //$nation->Name = "朝鲜族";
        //$nation->add();
        //$this->redirect(‘New/category‘, array(‘cate_id‘ => 2), 5, ‘页面跳转中...‘);//上面的用法是停留5秒后跳转到New模块的category操作,并且显示页面跳转中字样,重定向后会改变当前的URL地址。

    }

    public function zhuCe()
    {
        //3.自动收集表单(非常好用的一点)
        //要实现2个逻辑
        //(1)显示注册页面
        //(2)向数据库添加内容
        if(empty($_POST))
        {
            $this->show();
        }
        else
        {
            //自动收集表单
            $n = D("Nation");
            $n->create();//自动收集表单的写法。前提是必须有post数组才能用create方法收集到。表单的name必须是数据库的列名。

            //$n->sex = "";//需要处理的列单独拿出来处理,比如nation表中男女存的是布尔型数据1和0,而用户在填写表单的时候输入的是男或女,在这里单独修改一下,男=1,女=0.

            $z = $n->add();
            if($z)//success和error方法的第一个参数表示提示信息,第二个参数表示跳转地址,第三个参数是跳转时间(单位为秒)。
            {
                $this->success("添加成功","zhuCe");//如果成功先输出这一句话,再跳转到zhuCe方法。
            }
            else
            {
                $this->error("添加失败");//错误页面的默认跳转页面是返回前一页,通常不需要设置
            }
        }

    }

    public function canShu($b=0)//注意不能使用a、c、m、s传值,这里给变量一个默认值,防止报错。
    {
        //$id = $_GET["id"];
        //echo "$id";
        echo $b;
    }
}
时间: 2024-10-18 19:45:49

TP框架---thinkphp查询和添加数据的相关文章

TP框架---thinkphp基础知识

php框架    发瑞 一.真实项目开发步骤: 多人同时开发项目,协作开发项目.分工合理.效率有提高(代码风格不一样.分工不好) 测试阶段 上线运行 对项目进行维护.修改.升级(单个人维护项目,十分困难,代码风格不一样) 项目稳定的运行阶段 项目停止运行(旧项目的人员已经全部离职,新人开发新项目)   二.问题: 1. 多人开发项目,分工不合理,(html   php   mysql) 2. 代码风格不一样,后期维护十分困难 3. 项目生命周期十分短,项目生命没有延续性,造成资源浪费.人员浪费

第九十九天上课 PHP TP框架 数据库查询和增加

在Model文件夹下创建模型,文件命名规则 : 表名Model.class.php <?php namespace Home\Model; use Think\Model; class yonghuModel extends Model { } 实例化数据库的三种方法 //调用Model文件夹下的模型 public function shujuku1() { $yonghu=new \Home\Model\yonghuModel; //实例化自己创建的Model,(注意路径书写完整) var_d

PHP--TP框架----把查询到的数据,显示在模型(模板)里面

MainController.class.php <?php namespace Home\Controller; use Think\Controller; class MainController extends Controller { function DB()//造操作方法 { $m = D("Info"); //把数据显示在模型里面 $attr = $m->select();//调用方法查询所有的数据,返回二维数组,把数组注册到模板里 $this->ass

TP框架---thinkphp使用ajax

thinkphp使用ajax和之前使用ajax的方法一样,不同点在于之前的ajax中的url指向了一个页面,而thinkphp里面的url需要指向一个操作方法. 一.thinkphp使用ajax返回数据 1.先在Admin\Controller\MainController.class.php里面写一个方法 public function testajax()//ajax测试方法 { $this->show(); } 2.在Admin\View\Main文件夹里面建对应的显示页面testajax

TP框架---thinkphp模型

1.获取系统常量信息的方法:在控制器DengLuController里面下写入下面的方法,然后调用该方法. public function test() { //echo "这是测试的" //$this->assign("a","world"); //$this->show(); var_dump(get_defined_constants());//获取系统常量信息.里面加上参数true,就会按照类把所有的信息显示出来. } 系统信

Farseer.net轻量级开源框架 入门篇:添加数据详解

导航 目   录:Farseer.net轻量级开源框架 目录 上一篇:Farseer.net轻量级开源框架 入门篇: 分类逻辑层 下一篇:Farseer.net轻量级开源框架 入门篇: 修改数据详解 前面讲的大多数是原理及说明,大家在理解上会比较枯燥,接下来的几篇,倾向于实战,会比较有意思些. 这里的话,还是拿Users实体类来讲解在我们框架的几种添加方式. Insert的几种方式 1 Users info = new Users(); 2 info.UserName = "张三";

TP框架---thinkphp修改删除数据

1.在控制器MainController里面写一个方法,调用Nation表中的数据. public function zhuyemian() { $n = D("Nation");//造一个Nation对象 $attr = $n->select();//查询所有数据,返回的是一个二维数组. $this->assign("n",$attr);//将二维数组注册到模板里面显示. $this->show();//调用模板显示 } 2.新建一个显示的模板文

TP框架的目录结构

一.关于tp框架 ThinkPHP是为了简化企业级应用开发和敏捷WEB应用开发而诞生的..ThinkPHP简洁实用,在保持出色的性能和至简的代码的同时,也注重易用性. 二.tp框架的目录结构(重要,需熟悉每个目录) 打开home文件 打开conf文件 打开library文件

Farseer.net轻量级开源框架 入门篇:修改数据详解

导航 目   录:Farseer.net轻量级开源框架 目录 上一篇:Farseer.net轻量级开源框架 入门篇: 添加数据详解 下一篇:Farseer.net轻量级开源框架 入门篇: 删除数据详解 Update的几种方式(基本) 1 Users info = new Users(); 2 info.UserName = "张三"; 3 info.PassWord = "密码"; 4 5 // 指定用户ID为1的的数据进行修改. 6 Users.Data.Wher