使用Thinkphp小结1,增删改查


最近在学习Thinkphp,做一个小结:

首先是目录的结构,我采用的版本是3.2,相对于3.1来说,目录结构有了些变化,看3.1教程的虽然也可以,但是其中的变化需要先了解一下。

项目名称(根目录)为thinkphp,访问时以index.php为入口文件,在其中指定

define('APP_NAME','HOME');
define('APP_PATH','./HOME/');


会在thinkphp文件夹下创建HOME目录,以及指定项目目录为./HOME

将Thinkphp的基础包也添加在这个目录之中,与HOME同级。


在HOME文件夹中,产生:

Common:暂时不用

Home:主要目录

Runtime:缓存(出现问题时可以删除)


访问 http://localhost/thinkphp/ 会自动调用Home/Controller/indexController.calss.php。

所以在访问时http://localhost/thinkphp/ =http://localhost/thinkphp/index.php=http://localhost/thinkphp/index.php/HOME=http://localhost/thinkphp/index.php/HOME/Index=http://localhost/thinkphp/index.php/IHOME/ndex/index

在3.1版本中可以去掉HOME,3.2中必须指定。


搞清楚了基本结构和访问方式,开始进行CURD的简单操作。

首先访问时要在网页产生信息表的罗列,显示出数据库中的数据,这里以User表为例,我们想要的访问方式是http://localhost/thinkphp/index.php/HOME/User
所以我们缺少了一个User的控制器,在Controller文件夹中新建UserController.class.php(3.1版本中为UserAction.class.php)
首先进行显示:
   public function index(){
        $m=M('User');
        $arr=$m->select();
        //var_dump($arr);
        $this->assign('data',$arr);
        $this->display();
    }
$this->display()调用了User所对应的View,在View文件夹中有同名的View文件index.html(与方法名同名)
显示界面的主要代码:
 <table border="1" width="500" align="center">
 	<tr>
 		<th>id</th>
 		<th>username</th>
 		<th>usermail</th>
 		<th>操作</th>
 	</tr>
 	<volist name='data' id='vo'>
 	<tr>
 		<td>{$vo.id}</td>
 		<td>{$vo.username}</td>
 		<td>{$vo.sex}</td>
 		<td><a href="/thinkphp/index.php/HOME/User/del/id/{$vo.id}">删除</a>|<a href="/thinkphp/index.php/HOME/User/modify/id/{$vo.id}">修改</a></td>
 	</tr>
 	</volist>
 </table>
将id传递进行删除和修改操作,data是在index方法中传递的数据,使用volist便利进行输出

删除操作调用UserController中的del模块,主要代码如下:
    public function del(){
        $m=M('User');
        $id=$_GET['id'];
       $count=$m->delete($id);
        if ($count>0) {
            $this->success('数据删除成功');
        }
        else{
            $this->error("数据删除失败");
        }
        
    }

这里删除功能完成。

修改功能:

修改显示控制:

    public function modify(){
        $m=M("User");
        $id=$_GET['id'];
        $arr=$m->find($id);
        $this->assign('data',$arr);
        $this->display();//负责显示修改页面
    }

修改界面:

<!DOCTYPE html>
<html>
<head>
	<title></title>
	<script type="text/javascript">
		window.οnlοad=function(){
			if ("{$data.sex}"==0){
				document.getElementsByName('sex')[1].checked="checked";
			}
			else{
				document.getElementsByName('sex')[0].checked="checked";
			}
		}
	</script>
</head>
<body>
	<form action="/thinkphp/index.php/HOME/User/update" method="post">
		<input type="hidden" name="id" value="{$data.id}">
		姓名:<input type="text" name="username" value="{$data.username}" /><br>
		性别:<input type="radio" name='sex' value='1'/>男<input type="radio" name='sex' value='0'/>女<br>
		<input type="submit" value="提交修改">
	</form>
</body>
</html> 

调用update方法实现修改:

    public function update(){
        $m=M("User");
        $data['id']=$_POST['id'];
        $data['username']=$_POST['username'];
        $data['sex']=$_POST['sex'];
        $count=$m->save($data);
        if($count>0){
            $this->success('修改成功','index');
        }
        else{
            $this->error('数据修改失败');
        }
    }

添加功能:

在信息显示页面添加按钮:

 <center>
 	<button οnclick=jump()>添加数据</button>
 </center>

jump方法:

	<script type="text/javascript">
		function jump(){
			window.location="/thinkphp/index.php/HOME/User/add";
		}
	</script>

add方法:

只负责显示add所对应的模板。

add.html:

<!DOCTYPE html>
<html>
<head>
	<title></title>
</head>
<body>
	<form action="__URL__/create" method="post">
		
		姓名:<input type="text" name="username"/><br>
		性别:<input type="radio" name='sex' value='1'/>男<input type="radio" name='sex' value='0'/>女<br>
		<input type="submit" value="添加数据">
	</form>
</body>
</html> 

方法主体:

    public function create(){
        $m=M('User');
        $m->id=$_POST['id'];
        $m->username=$_POST['username'];
        $m->sex=$_POST['sex'];
        $idnum=$m->add();
        if($idnum>0){
            $this->success('添加成功','index');
        }
        else{
            $this->error('数据添加失败');
        }
        
    }

到此完成。



  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值