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
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...