thinkphp信息修改和分頁

来源:http://www.cnblogs.com/dej-11/archive/2017/12/20/8073940.html
-Advertisement-
Play Games

關聯兩個數據表,在Model里建立StuModel.class.php: 在view中建立Stu文件夾,建立主頁面index.html: 在Stu中建立修改頁面edit.html: 在Controller中建立StuController.class.php: ...


關聯兩個數據表,在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');
        }
    }
}

  


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 1.安裝dva-cli npm install dva-cli -g npm install dva-cli -g 2.創建應用 dva new dvadashboard [dvadashboard為項目名] 3.安裝mockjs npm install mockjs --save 4.配置mock ...
  • 1.獲取url所有的參數 我們可以直接通過window.location.search來取得這部分,也就是我們需要的url參數。當url沒有包含?時,window.location.search會返回undefined。 2.獲取url中指定鍵名(name)的鍵值(val) 3.利用正則表達式來獲取 ...
  • css中允許應用純色作為背景,也允許使用圖片作為背景。 background一共有8個對應的屬性: 1、background-color:顏色值 用於設定背景的顏色 有3種定義顏色的形式, 1, 顏色關鍵字表示法,可直接用英文單詞來定義,比如red,blue,green等。 2, 16進位表示法,用 ...
  • 冒泡排序 快速排序 去重 查找字元串中最多的值 ...
  • 問題說明:點擊綠色控制項不觸發紅色控制項的對應的事件如圖: Bug: 紅色框和綠色框都設置了響應事件,當點擊綠色框的時候,紅色框的事件也會觸發。 解決過程:查資料 總所周知 js 一般都是使用冒泡流,在翻看《JavaScript高級程式設計》瞭解到中:在通過HTML特性指定事件處理程式時,變數event ...
  • 也是學習一些皮毛,只是把這些經驗記錄下來而已。 至於angular有什麼好處,或者有什麼是什麼,我就不多做介紹,自己可以去百度,肯定能找到更為詳細的。 我使用的是google提供的angualr-cli。 他能夠快速的搭建一個angular開發的腳手架,不必自己去一步步的搭建。 當然需要配置angu ...
  • :hover 滑鼠懸浮在具有這個屬性的標簽上就會出現變化,使當前標簽具有hover所描述屬性 Web頁面向後臺提交數據的方式和選擇 眾所周知Web前端頁面主要由HTML/CSS/Javascript組成,當要通過與用戶的交互實現各種功能時,就需要向後臺提交一些數據或者操作。在Web世界里各種實現眼花 ...
  • <meta content="webkit" name="renderer"><meta content="IE=Edge,chrome=1" http-equiv="X-UA-Compatible">解決瀏覽器渲染問題 ...
一周排行
    -Advertisement-
    Play Games
  • 前言 本文介紹一款使用 C# 與 WPF 開發的音頻播放器,其界面簡潔大方,操作體驗流暢。該播放器支持多種音頻格式(如 MP4、WMA、OGG、FLAC 等),並具備標記、實時歌詞顯示等功能。 另外,還支持換膚及多語言(中英文)切換。核心音頻處理採用 FFmpeg 組件,獲得了廣泛認可,目前 Git ...
  • OAuth2.0授權驗證-gitee授權碼模式 本文主要介紹如何筆者自己是如何使用gitee提供的OAuth2.0協議完成授權驗證並登錄到自己的系統,完整模式如圖 1、創建應用 打開gitee個人中心->第三方應用->創建應用 創建應用後在我的應用界面,查看已創建應用的Client ID和Clien ...
  • 解決了這個問題:《winForm下,fastReport.net 從.net framework 升級到.net5遇到的錯誤“Operation is not supported on this platform.”》 本文內容轉載自:https://www.fcnsoft.com/Home/Sho ...
  • 國內文章 WPF 從裸 Win 32 的 WM_Pointer 消息獲取觸摸點繪製筆跡 https://www.cnblogs.com/lindexi/p/18390983 本文將告訴大家如何在 WPF 裡面,接收裸 Win 32 的 WM_Pointer 消息,從消息裡面獲取觸摸點信息,使用觸摸點 ...
  • 前言 給大家推薦一個專為新零售快消行業打造了一套高效的進銷存管理系統。 系統不僅具備強大的庫存管理功能,還集成了高性能的輕量級 POS 解決方案,確保頁面載入速度極快,提供良好的用戶體驗。 項目介紹 Dorisoy.POS 是一款基於 .NET 7 和 Angular 4 開發的新零售快消進銷存管理 ...
  • ABP CLI常用的代碼分享 一、確保環境配置正確 安裝.NET CLI: ABP CLI是基於.NET Core或.NET 5/6/7等更高版本構建的,因此首先需要在你的開發環境中安裝.NET CLI。這可以通過訪問Microsoft官網下載並安裝相應版本的.NET SDK來實現。 安裝ABP ...
  • 問題 問題是這樣的:第三方的webapi,需要先調用登陸介面獲取Cookie,訪問其它介面時攜帶Cookie信息。 但使用HttpClient類調用登陸介面,返回的Headers中沒有找到Cookie信息。 分析 首先,使用Postman測試該登陸介面,正常返回Cookie信息,說明是HttpCli ...
  • 國內文章 關於.NET在中國為什麼工資低的分析 https://www.cnblogs.com/thinkingmore/p/18406244 .NET在中國開發者的薪資偏低,主要因市場需求、技術棧選擇和企業文化等因素所致。歷史上,.NET曾因微軟的閉源策略發展受限,儘管後來推出了跨平臺的.NET ...
  • 在WPF開發應用中,動畫不僅可以引起用戶的註意與興趣,而且還使軟體更加便於使用。前面幾篇文章講解了畫筆(Brush),形狀(Shape),幾何圖形(Geometry),變換(Transform)等相關內容,今天繼續講解動畫相關內容和知識點,僅供學習分享使用,如有不足之處,還請指正。 ...
  • 什麼是委托? 委托可以說是把一個方法代入另一個方法執行,相當於指向函數的指針;事件就相當於保存委托的數組; 1.實例化委托的方式: 方式1:通過new創建實例: public delegate void ShowDelegate(); 或者 public delegate string ShowDe ...