关联两个数据表,在Model里建立StuModel.class.php:

<?php
//Belongs_to 关联表示当前模型从属于另外一个父对象
namespace Admin\Model;
use Think\Model\RelationModel;
class StuModel extends RelationModel
{
protected $_link = array(
'Clas' => array(
'mapping_type' => self::BELONGS_TO,
'class_name' => 'Clas',
'foreign_key' => 'clas_id',
// 'mapping_name' => 'dept',
),
);
}

  

在view中建立Stu文件夹,建立主页面index.html:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<table>
<tr>
<td>名字</td>
<td>性别</td>
<td>生日</td>
<td>班级</td>
<td>修改</td>
</tr>
<volist name="Stu" id="vo">
<tr>
<td>
{$vo.uname}
</td>
<td>
<if condition="$vo.sex eq 1">

<else/>

</if>
</td>
<td>
{$vo.birthday}
</td>
<td>
{$vo.Clas.cname}
</td>
<td><a href="{:U('Stu/editShow',array('id'=>$vo[id]))}">编辑</a></td>
</tr>
</volist>
</table>
<hr>
<table>
<tr>
<td>名字</td>
<td>性别</td>
<td>生日</td>
<td>班级</td>
<td>修改</td>
</tr>
<tbody id="data"> </tbody>
</table>
<input type="hidden" id="page" value="1">
<input type="submit" id="prev" value="上一页">
<input type="submit" id="next" value="下一页">
<script src="__JS__/jquery-2.2.3.min.js"></script>
<script>
function dataGet(pag_num,count) {
//ajax
$.ajax({
url:'{:U("Stu/ajaxSelect")}',
dataType:'json',
type:'post',
data:{
pag_num:pag_num,
count:count
},
success:function (data) { var str='';
for (var i in data){ if (data[i].sex == 1){
data[i].sex = '男';
}else{
data[i].sex = '女';
} str +=
'<tr>' +
' <td>' +
data[i].uname +
' </td>' +
' <td>' +
data[i].sex +
' </td>' +
' <td>' +
data[i].birthday.substr(0,10) +
' </td>' +
' <td>' +
data[i].Clas.cname +
' </td>' +
' <td><a href="{:U("Stu/editShow")}?id=' + data[i].id + '">编辑</a>' +
'</td>' +
'</tr>' } $('#data').html(str);
$('#page').val(pag_num);
}
})
}
//数据显示数量
dataGet(1,1);
//点击切换
$('#prev').click(function () {
var page = parseInt($('#page').val())
dataGet(page-1,1);
});
$('#next').click(function () {
var page = parseInt($('#page').val())
dataGet(page+1,1);
})
</script>
</body>
</html>

  在Stu中建立修改页面edit.html:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<table>
<tr>
<td>名字</td>
<td>性别</td>
<td>生日</td>
<td>班级</td>
<td>修改</td>
</tr>
<form action="{:U('Stu/editPost')}" method="post">
<tr>
<td><input type="text" name="uname" value="{$stu.uname}"></td> <td>
<if condition="$stu['sex'] eq 1">
<input type="radio" name="sex" value="1" id="man" checked><labl for="man">男</labl>
<input type="radio" name="sex" value="0" id="woman"><labl for="woman">女</labl>
<else/>
<input type="radio" name="sex" value="1" id="man"><labl for="man">男</labl>
<input type="radio" name="sex" value="0" id="woman" checked><labl for="woman">女</labl>
</if> </td>
<td><input type="text" name="birthday" value="{$stu.birthday}"></td>
<td>
<select name="clas_id">
<option value="">选择班级</option>
<volist name="clas" id="vo">
<if condition="$stu['clas_id'] eq $vo['id']">
<option value="{$vo.id}" selected>{$vo.cname}</option>
<else/>
<option value="{$vo.id}">{$vo.cname}</option>
</if>
</volist>
</select>
</td>
<td>
<input type="hidden" name="id" value="{$stu.id}">
<input type="submit" value="提交">
</td>
</tr>
</form>
</table>
</body>
</html>

  在Controller中建立StuController.class.php:

<?php

namespace Admin\Controller;

use Think\Controller;

class StuController extends Controller
{
public function index(){
$db_stu = D('Stu');
$data_stu = $db_stu->relation(true)->select();
// dump($data_stu);
$this->assign('Stu',$data_stu);
$this->display();
} public function ajaxSelect(){
$pag = I('post.pag_num');
$count = I('post.count');
$db_stu = D('stu');
$data_stu = $db_stu->relation(true)->page($pag,$count)->select();
$this->ajaxReturn($data_stu); }
public function editShow(){
if (IS_GET){
$id = I('get.id');
// dump($id);
$db_stu = M('Stu');
$db_clas = M('Clas');
$data_stu = $db_stu->where('id = '.$id)->find();
$data_clas = $db_clas->where('status = 1')->select();
$this->assign('clas',$data_clas);
$this->assign('stu',$data_stu);
$this->display('Stu/edit');
}
}
public function editPost(){
if (IS_POST){
$data = I('post.');
// dump($data);
$db_stu = M('stu');
$db_stu->save($data);
// dump($m);
$this->success('成功','index');
}
}
}

  

thinkphp信息修改和分页的更多相关文章

  1. ThinkPHP 整合Bootstrap Ajax分页

    ThinkPHP Ajax分页代码 publicfunction index() { $where=array(); $name = I('name'); if(!empty($name)){ $wh ...

  2. 基于jsp+servlet图书管理系统之后台用户信息修改操作

    上一篇的博客写的是查询操作,且附有源码和数据库,这篇博客写的是修改操作,附有从头至尾写的代码(详细的注释)和数据库! 此次修改操作的源码和数据库:http://download.csdn.net/de ...

  3. JQuery DataTables Editor---页面内容修改&&数据库信息修改 (2)

    接上篇博文,详细说一下js代码以及JQuery DataTables Editor---页面内容修改&&数据库信息修改遇到的问题和解决办法. 1.关于dialog 初始化: $(&qu ...

  4. Mp3tag(MP3文件信息修改器) V2.79a 多语绿色版

    软件名称: Mp3tag(MP3文件信息修改器) 软件语言: 多国语言 授权方式: 免费软件 运行环境: Win 32位/64位 软件大小: 3.0MB 图片预览: 软件简介: Mp3Tag 是一款m ...

  5. Ionic 应用图标,信息修改

    Ionic 应用图标,信息修改 Ionic 应用图标 修改 准备好替换的图标并生成各个尺寸的图标 1.使用命令行进入项目根目录,执行命令ionic resources 替换的图片放在resources ...

  6. SpringBoot日记——信息修改PUT篇

    我们常用的功能,除了post和get,还有put和delete,这篇文章就介绍一下这个put的基本用法. 页面跳转和回显 1. 首先,我们之前的页面已经将添加和修改的按钮都做好了,那么如何实现这些按钮 ...

  7. thinkphp 原生sql使用分页类

    public function index(){ import("@.ORG.Page"); //导入分页类 $Dao = M(); $count = count($Dao-> ...

  8. ecshop彻底去版权把信息修改成自己的全教程

    前台部分: 一.去掉头部title部分的ECSHOP演示站-Powered by ecshop 1.问题:“ECSHOP演示站”方法:在后台商店设置 – 商店标题修改2.问题:“ Powered by ...

  9. ThinkPHP 3 的CURD管理用户信息 修改和删除

    本节课大纲: 一.ThinkPHP 3 的CURD管理用户信息 http://localhost:8080/thinkphp/index.php/User/index 访问User类的index方法 ...

随机推荐

  1. Cookie对象的特点

    1.存储少量不重要的数据2.存储在客户端的文本文件中(必须设置有效期,否则不被存储)3.安全性差4.存储的数据类型--字符串5.浏览器窗口无关,但与访问的站点相关6.具体特定的过期时间和日期7.在客户 ...

  2. Android AsyncTask 分析内部实现

    sdk3.0前,使用内部的线程池,多线程并发运行.线程池大小等于5,最大达128 sdk3.0后,使用默认的serial线程池.运行完一个线程,再顺序运行下一个线程.sdk3.0<=curren ...

  3. Struts2默认拦截器栈及内建拦截器使用具体解释

    Struts2内建拦截器介绍:   alias (别名拦截器):同意參数在跨越多个请求时使用不同别名,该拦截器可将多个Action採用不同名字链接起来,然后用于处理同一信息.  autowiring  ...

  4. NSSet所有API学习。

    /****************集合(NSSet)和数组(NSArray)有相似之处,都是存储不同的对象的地址.只是NSArray是有序的集合,NSSet是无序的集合,同一时候NSSet能够保证数据 ...

  5. eclipse导出签名apk的混淆设置

    1.设置project.properties文件: 2.设置proguard-project.txt文件:

  6. xUnit随笔

    XUnit入门 1.如果之前安装了xUnit.net Visual Studio Runner扩展包,通过"工具"菜单下的"扩展和更新"先将该扩展包卸载. 2. ...

  7. python-----获取ip的两种方法

    方法一: 通常使用socket.gethostbyname()方法即可获取本机IP地址,但有时候获取不到(比如没有正确设置主机名称),示例代码如下: import socket # 获取本机计算机名称 ...

  8. bzoj 2067 [ Poi 2004 ] SZN —— 二分

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=2067 问题1:贪心考虑,应该是每个点的儿子尽量两两配对,如果剩一个就和自己合并向上,所以 a ...

  9. 关于mysql的索引原理与慢查询优化

    大多情况下我们都知道加索引能提高查询效率,但是应该如何加索引呢?索引的顺序如何呢? 大家看一下下面的sql语句(在没有看下面的优化的方法之前)应该如何优化加索引以及优化sql语句: 1.select  ...

  10. 慕课网JavaScript函数1-20 作业:函数的基础封装

    1-20 作业 小伙伴们,掌握了JavaScript的语法.流程控制语句以及函数,接下来让我们运用所学知识完成如gif图所示的效果——计算自己出生那天是该年当中的第几天. gif效果图如下: 任务描述 ...