岐山支玉 發表於 2020-7-11 17:37:00

js+php+mysql实现的学生成绩管理系统

<h2 id="jsphp的简单学生管理系统自己建个students的数据库">js+php的简单学生管理系统,自己建个students的数据库</h2>
<p>实现的效果如下图所示:</p>
<h4 id="注册">注册</h4>
<p><img src="https://img2020.cnblogs.com/blog/1909562/202007/1909562-20200713092827143-1424666118.png"></p>
<h4 id="登录">登录</h4>
<p><img src="https://img2020.cnblogs.com/blog/1909562/202007/1909562-20200713092856760-635428321.png"></p>
<h4 id="系统主页">系统主页</h4>
<p><img src="https://img2020.cnblogs.com/blog/1909562/202007/1909562-20200711171136031-921266739.png"></p>
<h4 id="新增页面">新增页面</h4>
<p><img src="https://img2020.cnblogs.com/blog/1909562/202007/1909562-20200713092308872-1532711052.png"></p>
<h4 id="修改页面">修改页面</h4>
<p><img src="https://img2020.cnblogs.com/blog/1909562/202007/1909562-20200713092345928-969070088.png"></p>
<h3 id="注册页面--registerhtml">注册页面--register.html</h3>
<pre><code class="language-html">&lt;!DOCTYPE html&gt;
&lt;html lang="en"&gt;
    &lt;head&gt;
      &lt;meta charset="UTF-8"&gt;
      &lt;meta name="viewport" content="width=device-width, initial-scale=1.0"&gt;
      &lt;title&gt;Document&lt;/title&gt;
      &lt;!-- 最新版本的 Bootstrap 核心 CSS 文件 --&gt;
      &lt;link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous"&gt;
      &lt;style&gt;
            html,body{
                width: 100%;
                height: 100%;
               
            }
            body{
                background: url(./1.png) no-repeat 100% 100%;
            }
            body .container{
                width: 100%;
                height: 100%;
                display: flex;
                justify-content: center;
                align-items: center;
            }
            #register{
                width: 400px;
               
            }
            .panel-footer{
                display: flex;
                /* 垂直方向 */
                align-items: center;
                /* 水平方向 */
                justify-content: space-between;
            }
            .alert{
                margin: 0px;
                padding: 2px;
                text-align: center;
                display: none;
            }
      &lt;/style&gt;
      
    &lt;/head&gt;
    &lt;body&gt;
      &lt;div class = 'container'&gt;
            &lt;div class = 'panel panel-primary' id = 'register'&gt;
                &lt;div class = 'panel-heading'&gt;
                  注册
                &lt;/div&gt;
                &lt;div class = 'panel-body'&gt;
                  &lt;div class = 'form-group'&gt;
                        &lt;label for="username"&gt;用户名:&lt;/label&gt;
                        &lt;input type="text" name = 'username' class = 'form-control' placeholder="用户名" /&gt;
                  &lt;/div&gt;
                  &lt;div class = 'form-group'&gt;
                        &lt;label for="password"&gt;密码:&lt;/label&gt;
                        &lt;input type="text" name = 'password' class = 'form-control' placeholder="密码" /&gt;
                  &lt;/div&gt;
                  &lt;div class = 'form-group'&gt;
                        &lt;label for="repassword"&gt;确认密码:&lt;/label&gt;
                        &lt;input type="text" name = 'repassword' class = 'form-control' placeholder="确认密码" /&gt;
                  &lt;/div&gt;
                  &lt;div class="alert alert-danger" role="alert"&gt;...&lt;/div&gt;
                &lt;/div&gt;
                &lt;div class = 'panel-footer'&gt;
                  &lt;a href="./login.html"&gt;马上登陆&lt;/a&gt;
                  &lt;button class = 'btn btn-primary' id = 'registerBtn'&gt;注册&lt;/button&gt;
                &lt;/div&gt;
            &lt;/div&gt;
      &lt;/div&gt;
      &lt;script type = 'module'&gt;
            import {$post, antiShake} from "./ajax.js";
            var oBtn = document.querySelector("#registerBtn");
            var aInputs = document.querySelectorAll(".panel-body input");
            var aAlert = document.querySelector(".alert");

            //函数防抖
            oBtn.onclick = antiShake(download, 1000);
            
            function download(){
                $post({
                  url: "register.php",
                  data: {
                        username: aInputs.value,
                        password: aInputs.value,
                        repassword: aInputs.value,
                        createTime: (new Date().getTime())
                  },
                  success: function(result){
                        // console.log(result);
                        var obj = JSON.parse(result);
                        aAlert.style.display = 'block';
                        if(obj.code){
                            //错误
                            aAlert.className = 'alert alert-danger';
                            aAlert.innerHTML = obj.msg;

                        }else{
                            aAlert.className = 'alert alert-success';
                            //成功
                            aAlert.innerHTML = obj.msg;
                            setTimeout(() =&gt; {
                              location.assign("login.html");
                            }, 500);
                        }
                  },
                  error: function(msg){
                        console.log(msg);
                  }
                })
            }
            

      &lt;/script&gt;
    &lt;/body&gt;
&lt;/html&gt;
</code></pre>
<h3 id="注册的php代码-registerphp">注册的php代码-register.php</h3>
<pre><code class="language-php">&lt;?php
    header('content-type:text/html;charset="utf-8"');

    $responseData = array("code" =&gt; 0, "msg" =&gt; "");
    /*
      在后台再进行一次数据校验
    */
    $username = $_POST['username'];
    $password = $_POST['password'];
    $repassword = $_POST['repassword'];
    $createTime = $_POST['createTime'];

    //1、判断用户名是否存在
    if(!$username){
      $responseData['code'] = 1;
      $responseData['msg'] = "用户名不能为空";
      echo json_encode($responseData);
      exit;
    }
    if(!$password){
      $responseData['code'] = 2;
      $responseData['msg'] = "密码不能为空";
      echo json_encode($responseData);
      exit;
    }

    if($password != $repassword){
      $responseData['code'] = 3;
      $responseData['msg'] = "两次输入不一致";
      echo json_encode($responseData);
      exit;
    }

    $link = mysqli_connect("127.0.0.1", "root", "123456abc");
    if(!$link){
      $responseData['code'] = 4;
      $responseData['msg'] = "服务器忙";
      echo json_encode($responseData);
      exit;
    }
    mysqli_set_charset($link, "utf8");

    mysqli_select_db($link, "qd2002");


    $sql = "SELECT * FROM users WHERE username='{$username}'";
    //mysql result
    $res = mysqli_query($link, $sql);
    //取出一行
    $row = mysqli_fetch_assoc($res);

    //已经注册
    if($row){
      $responseData['code'] = 5;
      $responseData['msg'] = "用户名已经存在";
      echo json_encode($responseData);
      exit;
    }

    //加密
    $str = md5(md5(md5($password).'qf').'xiaoming');

    //准备sql,插入
    $sql2 = "INSERT INTO users (username,password,createTime) VALUES('{$username}','{$str}',{$createTime})";

    $res = mysqli_query($link, $sql2);
    if($res){
      $responseData['msg'] = "注册成功";
      echo json_encode($responseData);
    }else{
      $responseData['code'] = 6;
      $responseData['msg'] = "注册失败";
      echo json_encode($responseData);
      exit;
    }

    mysqli_close($link);
?&gt;
</code></pre>
<h3 id="登录页面-loginhtml">登录页面-login.html</h3>
<pre><code class="language-html">&lt;!DOCTYPE html&gt;
&lt;html lang="en"&gt;
    &lt;head&gt;
      &lt;meta charset="UTF-8"&gt;
      &lt;meta name="viewport" content="width=device-width, initial-scale=1.0"&gt;
      &lt;title&gt;Document&lt;/title&gt;
      &lt;!-- 最新版本的 Bootstrap 核心 CSS 文件 --&gt;
      &lt;link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous"&gt;
      &lt;style&gt;
            html,body{
                width: 100%;
                height: 100%;
               
            }
            body{
                background: url(./1.png) no-repeat 100% 100%;
            }
            body .container{
                width: 100%;
                height: 100%;
                display: flex;
                justify-content: center;
                align-items: center;
            }
            #login{
                width: 400px;
               
            }
            .panel-footer{
                display: flex;
                /* 垂直方向 */
                align-items: center;
                /* 水平方向 */
                justify-content: space-between;
            }
            .alert{
                margin: 0px;
                padding: 2px;
                text-align: center;
                display: none;
            }
      &lt;/style&gt;
      
    &lt;/head&gt;
    &lt;body&gt;
      &lt;div class = 'container'&gt;
            &lt;div class = 'panel panel-primary' id = 'login'&gt;
                &lt;div class = 'panel-heading'&gt;
                  登陆
                &lt;/div&gt;
                &lt;div class = 'panel-body'&gt;
                  &lt;div class = 'form-group'&gt;
                        &lt;label for="username"&gt;用户名:&lt;/label&gt;
                        &lt;input type="text" name = 'username' class = 'form-control' placeholder="用户名" /&gt;
                  &lt;/div&gt;
                  &lt;div class = 'form-group'&gt;
                        &lt;label for="password"&gt;密码:&lt;/label&gt;
                        &lt;input type="text" name = 'password' class = 'form-control' placeholder="密码" /&gt;
                  &lt;/div&gt;

                  &lt;div class="alert alert-danger" role="alert"&gt;...&lt;/div&gt;
                &lt;/div&gt;
                &lt;div class = 'panel-footer'&gt;
                  &lt;a href="./register.html"&gt;马上注册&lt;/a&gt;
                  &lt;button class = 'btn btn-primary' id = 'loginBtn'&gt;登陆&lt;/button&gt;
                &lt;/div&gt;
            &lt;/div&gt;
      &lt;/div&gt;
      &lt;script type = 'module'&gt;
            import {$post, antiShake} from "./ajax.js";
            var oBtn = document.querySelector("#loginBtn");
            var aInputs = document.querySelectorAll(".panel-body input");
            var aAlert = document.querySelector(".alert");

            //函数防抖
            oBtn.onclick = antiShake(download, 1000);
            
            function download(){
                $post({
                  url: "login.php",
                  data: {
                        username: aInputs.value,
                        password: aInputs.value,
                  },
                  success: function(result){
                        // console.log(result);
                        var obj = JSON.parse(result);
                        aAlert.style.display = 'block';
                        if(obj.code){
                            //错误
                            aAlert.className = 'alert alert-danger';
                            aAlert.innerHTML = obj.msg;

                        }else{
                            aAlert.className = 'alert alert-success';
                            //成功
                            aAlert.innerHTML = obj.msg;
                        }
                  },
                  error: function(msg){
                        console.log(msg);
                  }
                })
            }
            

      &lt;/script&gt;
    &lt;/body&gt;
&lt;/html&gt;
</code></pre>
<h3 id="登录页面-loginphp">登录页面-login.php</h3>
<pre><code class="language-php">&lt;?php
    header('content-type:text/html;charset="utf-8"');

    $responseData = array("code" =&gt; 0, "msg" =&gt; "");
    /*
      在后台再进行一次数据校验
    */
    $username = $_POST['username'];
    $password = $_POST['password'];
   //1、判断用户名是否存在
   if(!$username){
      $responseData['code'] = 1;
      $responseData['msg'] = "用户名不能为空";
      echo json_encode($responseData);
      exit;
    }
    if(!$password){
      $responseData['code'] = 2;
      $responseData['msg'] = "密码不能为空";
      echo json_encode($responseData);
      exit;
    }
    //天龙八部
    //1、链接数据库
    $link = mysqli_connect("127.0.0.1", "root", "123456abc");

    //2、判断数据库是否链接成功
    if(!$link){
      $responseData['code'] = 4;
      $responseData['msg'] = "服务器忙";
      echo json_encode($responseData);
      exit;
    }
    //3、设置访问字符集
    mysqli_set_charset($link, "utf8");

    //4、选择我们要访问的数据库
    mysqli_select_db($link, "qd2002");

    //5、准备sql语句,进行登陆
    //加密
    $str = md5(md5(md5($password).'qf').'xiaoming');
    $sql = "SELECT * from users WHERE username='{$username}' AND password='{$str}'";

    //6、发送sql语句
    $res = mysqli_query($link, $sql);

    //查询,取出其中的行
    $row = mysqli_fetch_assoc($res);
    // var_dump($row);

    if($row){
      
      $responseData['msg'] = "登陆成功";
      echo json_encode($responseData);
      
    }else{
      $responseData['code'] = 5;
      $responseData['msg'] = "用户名或密码错误";
      echo json_encode($responseData);
      exit;
    }

    mysqli_close($link);
?&gt;
</code></pre>
<h3 id="主页面-showhtml">主页面 show.html</h3>
<pre><code class="language-html">&lt;    &lt;!DOCTYPE html&gt;
    &lt;html lang="en"&gt;
    &lt;head&gt;
      &lt;meta charset="UTF-8"&gt;
      &lt;meta name="viewport" content="width=device-width, initial-scale=1.0"&gt;
      &lt;link rel="stylesheet" href="https://cdn.staticfile.org/twitter-bootstrap/3.3.7/css/bootstrap.min.css"&gt;
      &lt;script src="https://cdn.staticfile.org/jquery/2.1.1/jquery.min.js"&gt;&lt;/script&gt;
      &lt;script src="https://cdn.staticfile.org/twitter-bootstrap/3.3.7/js/bootstrap.min.js"&gt;&lt;/script&gt;
      &lt;link rel="shortcut icon" href="favicon.ico" type="image/x-icon"&gt;
      &lt;title&gt;Document&lt;/title&gt;
      &lt;style&gt;
            .box{
                box-sizing: border-box;
                width: 100%;
                height: 100%;
                padding: 100px;
                position: absolute;
                top: 0%;
                left: 0%;
                background-color: rgba(200, 200, 200, .7);
                display: none;
            }
            .panel-footer{
            display: flex;
            justify-content: center;
            align-items: center;
      }
      &lt;/style&gt;

    &lt;/head&gt;
    &lt;body&gt;
      &lt;div class="container"&gt;
            &lt;div class="panel panel-primary"&gt;
               &lt;div class="panel-heading"&gt;
                     &lt;h2&gt;学生成绩管理系统&lt;/h2&gt;
               &lt;/div&gt;
               &lt;div class="panel-body"&gt;
                  &lt;button type="button" class="btn btn-success select"&gt;获取学生成绩&lt;/button&gt;
                  &lt;button type="button" class="btn btn-success add"&gt;添加学生成绩&lt;/button&gt;
                     &lt;table class="table table-hover"&gt;
                         &lt;thead&gt;
                           &lt;tr&gt;
                                 &lt;th&gt;学生学号&lt;/th&gt;
                                 &lt;th&gt;学生姓名&lt;/th&gt;
                                 &lt;th&gt;语文成绩&lt;/th&gt;
                                 &lt;th&gt;数学成绩&lt;/th&gt;
                                 &lt;th&gt;英语成绩&lt;/th&gt;
                                 &lt;th colspan="2" style="text-align: center;"&gt;操作&lt;/th&gt;
                           &lt;/tr&gt;
                         &lt;/thead&gt;
                         &lt;tbody id="tb"&gt; &lt;/tbody&gt;
                     &lt;/table&gt;
               &lt;/div&gt;
               &lt;div class='panel-footer'&gt;
                  &lt;nav aria-label="..."&gt;
                        &lt;ul class="pager"&gt;
                        &lt;li class="previous disabled"&gt;&lt;a href="#"&gt;&lt;span aria-hidden="true"&gt;&amp;larr;&lt;/span&gt; 上一页&lt;/a&gt;&lt;/li&gt;
                        &lt;/ul&gt;
                  &lt;/nav&gt;
                  &lt;nav aria-label="Page navigation"&gt;
                        &lt;ul class="pagination"&gt;
                        &lt;li class = 'active'&gt;&lt;a href="#"&gt;1&lt;/a&gt;&lt;/li&gt;
                        &lt;li&gt;&lt;a href="#"&gt;2&lt;/a&gt;&lt;/li&gt;
                        &lt;li&gt;&lt;a href="#"&gt;3&lt;/a&gt;&lt;/li&gt;
                        &lt;li&gt;&lt;a href="#"&gt;4&lt;/a&gt;&lt;/li&gt;
                        &lt;li&gt;&lt;a href="#"&gt;5&lt;/a&gt;&lt;/li&gt;
                        &lt;/ul&gt;
                  &lt;/nav&gt;
                  &lt;nav aria-label="..."&gt;
                        &lt;ul class="pager"&gt;
                        &lt;li class="next"&gt;&lt;a href="#"&gt;下一页 &lt;span aria-hidden="true"&gt;&amp;rarr;&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
                        &lt;/ul&gt;
                  &lt;/nav&gt;
                &lt;/div&gt;
            &lt;/div&gt;
      &lt;/div&gt;

      &lt;div class='panel-body box'&gt;
            &lt;div class='form-group'&gt;
                &lt;label for="username"&gt;学生姓名:&lt;/label&gt;
                &lt;input type="text" class='form-control' name='username' id="username" placeholder="学生姓名"&gt;
            &lt;/div&gt;
            &lt;div class='form-group'&gt;
                &lt;label for="chinese"&gt;语文成绩:&lt;/label&gt;
                &lt;input type="text" class='form-control' name='chinese' placeholder="语文成绩"&gt;
            &lt;/div&gt;
            &lt;div class='form-group'&gt;
                &lt;label for="math"&gt;数学成绩:&lt;/label&gt;
                &lt;input type="text" class='form-control' name='math' placeholder="数学成绩"&gt;
            &lt;/div&gt;
            &lt;div class='form-group'&gt;
                &lt;label for="english"&gt;英语成绩:&lt;/label&gt;
                &lt;input type="text" class='form-control' name='english' placeholder="英语成绩"&gt;
            &lt;/div&gt;
            &lt;button id = 'btn1' class = 'btn btn-primary cancel'&gt;取消&lt;/button&gt;
            &lt;button id = 'submit' class = 'btn btn-primary'&gt;确定&lt;/button&gt;
      &lt;/div&gt;
    &lt;/body&gt;
    &lt;script type="module"&gt;
      import {post} from "./ajax.js";
      var oBtain = document.querySelector(".select");
      var oAdd = document.querySelector(".add")
      var oTb = document.querySelector("#tb");
      var oBox = document.querySelector(".box");
      var oCancel =document.querySelector(".cancel");
      var oSubmit = document.getElementById("submit");

      //展示信息
      function show(){
            post({
            url:"show.php",
            success:function(result){
                var arr = JSON.parse(result);
                var str = '';
                for(var i = 0;i&lt;arr.length;i++){
                  str +=`&lt;tr&gt;
                        &lt;td&gt;${arr.id}&lt;/td&gt;
                        &lt;td&gt;${arr.username}&lt;/td&gt;
                        &lt;td&gt;${arr.chinese}&lt;/td&gt;
                        &lt;td&gt;${arr.math}&lt;/td&gt;
                        &lt;td&gt;${arr.english}&lt;/td&gt;
                        &lt;td &gt;&lt;button type="button" class="btn btn-danger" id='${arr.id}'&gt;删除&lt;/button&gt;&lt;/td&gt;
                        &lt;td&gt;&lt;button type="button" class="btn btn-warning" id='${arr.id}'&gt;修改&lt;/button&gt;&lt;/td&gt;
                        &lt;/tr&gt;`
                }
                oTb.innerHTML=str;
            },
            error:function(error){
                console.log(error)
            }
      })
      }
      oBtain.onclick = function(){
         show()
      }

      var aIput = document.querySelectorAll("input");
      //插入信息
      oAdd.onclick = function(){
            oBox.style.display="block";
            oSubmit.onclick = function(){
                post({
                url:"insert.php",
                data:{
                  username:aIput.value,
                  chinese:aIput.value,
                  math:aIput.value,
                  english:aIput.value,
                },
                success:function(result){
                  if(result=="success"){
                        alert("添加成功")
                  }else{
                        alert("添加失败,请重试")
                  }
                  
                },
                error:function(error){
                  console.log(error)
                }
                })
      }
    }
    oCancel.onclick = function(){
                oBox.style.display="none";
    }

    //删除和修改学生信息
    oTb.onclick = function(eve){
      var e = eve||window.event;
      var target = e.target ||e.srcElement;
      if(target.nodeName.toLocaleLowerCase() == 'button'){
            switch(target.className){
                //删除
                case 'btn btn-danger':               
                  post({
                        url:"delete.php",
                        data:{
                            id:target.id
                        },
                  success:function(result){
                        if(result=="success"){
                            oTb.removeChild(target.parentNode.parentNode);
                            alert("删除成功")
                        }else{
                            alert("删除失败")
                        }
                        }
                  });
                  break;
                  //修改
                case 'btn btn-warning':
                post({
                  url:"update.php",
                  data:{
                            id:target.id
                        },
                  success:function(result){
                        var arr = JSON.parse(result);
                        oBox.style.display="block";
                            aIput.value=arr.username,
                            aIput.value=arr.chinese,
                            aIput.value=arr.math,
                            aIput.value=arr.english;
                            var id = arr.id;
                            oSubmit.onclick=function(){
                              post({
                            url:"update1.php",
                              data:{
                                    id:id,
                                    username:aIput.value,
                                    chinese:aIput.value,
                                    math:aIput.value,
                                    english:aIput.value,
                              },
                              success:function(result){
                                    if(result=="success"){
                                        alert("修改成功")
                                    }else{
                                        alert("请重新修改")
                                    }
                              }
                      })
                            }

                        }
                })
               
            }      
    }
}
    &lt;/script&gt;
    &lt;/html&gt;
</code></pre>
<h3 id="通过ajax传数据-ajaxjs">通过ajax传数据-ajax.js</h3>
<pre><code class="language-js">export{
    post,
    get,
    ajax
}

function post(){
    var argus =Object.assign({"method" :"post"},...arguments)
    var g = new Ajax(argus);
    g.init();
    g.type()
}

function get(){
    var argus =Object.assign({"method" :"get"},...arguments)
    var g = new Ajax(argus);
    g.init();
    g.type()
}

// function ajax(){
//   var a =new Ajax(...arguments);
//   a.init();
//   a.type();
// }

function ajax(){
    var a = new Ajax(...arguments);
    a.init();
    a.type()
}
class Ajax{
    constructor({method,url,data,success,error}){
      this.method = method;
      this.url = url;
      this.data = data;
      this.success = success;
      this.error = error;
    }
    init(){
      var xhr = null;
      try{
            xhr = newXMLHttpRequest;
      }catch{
            xhr = new ActiveXObject("XMLHTTP");
      }
      return xhr;
    }

    type(){
      var xhr= this.init()
      var querystring=""
      if(this.data){
            querystring = this.queryString(this.data);
      }
      if(this.method=="get"){
            xhr.open(this.method,this.url+"?"+querystring,true);
            xhr.send();
      }else{
            xhr.open(this.method,this.url,true);
            xhr.setRequestHeader('content-type', "application/x-www-form-urlencoded");
            xhr.send(querystring);
      }

      xhr.onreadystatechange = ()=&gt;{
            if(xhr.readyState ==4){
                if(xhr.status==200){
                  if(this.success){
                        this.success(xhr.responseText)
                  }
                }else{
                  if(this.error){
                        this.error("error"+xhr.status)
                  }
                }
            }
         
      }
    }

    queryString(dataObj){
      var str='';
      for(var attr in dataObj){
            str+=`${attr}=${dataObj}&amp;`
      }
      return str.substring(0,str.length-1)
    }
}
</code></pre>
<h3 id="分页-pagingphp">分页-paging.php</h3>
<pre><code class="language-php">&lt;?php
header("content-type:text/html,charset='utf8'");
$page = $_POST['page'] ? $_POST['page'] :1;
$limit = $_POST['limit'] ? $_POST['limit']:10;
$count = 0; //总条数
$pages = 0; //总页数
$skip = 0; //跳过的条数

$link=mysqli_connect("localhost","root","root");
if(!$link){
    echo "服务器忙,请重试";
    exit;
}
mysqli_set_charset($link,"utf8");
mysqli_select_db($link,"nz");
$sql = "SELECT COUNT(*) FROM students";
$res=mysqli_query($link,$sql);
$row = mysqli_fetch_assoc($res);
$count = $row['COUNT(*)'];
// echo $count;
$pages = ceil($count / $limit);
$page = max(1, $page);
$page = min($page, $pages);
$skip = ($page -1) * $limit;
$msg =array(
    "page" =&gt; $page,
    "count" =&gt; $count,
    "pages" =&gt; $pages,
    "limit" =&gt; $limit,
    "skip" =&gt; $skip,
    "userlist" =&gt; array()
);
$sql2 = "SELECT * FROM students LIMIT {$skip}, {$limit}";
$res2 = mysqli_query($link, $sql2);
while($row2 = mysqli_fetch_assoc($res2)){
    array_push($msg['userlist'], $row2);
}
echo json_encode($msg);
mysqli_close($link);

?&gt;
</code></pre>
<h3 id="数据添加-insertphp">数据添加 insert.php</h3>
<pre><code class="language-php">&lt;?php

header("content-type:text/html,charset='utf8'");
$username = $_POST['username'];
$chinese = $_POST['chinese'];
$math = $_POST['math'];
$english = $_POST['english'];
$link = mysqli_connect("localhost","root","root");
if(!$link){
    echo "服务器忙,请稍后重试";
    exit;
};
mysqli_set_charset($link,"utf8");
mysqli_select_db($link,"nz");
$sql ="insert into students (username,chinese,math,english) values('{$username}','{$chinese}','{$math}','{$english}')";
$res = mysqli_query($link,$sql);
if($res){
    echo "success";
}else{
    echo "error";
};

mysqli_close($link);
?&gt;
</code></pre>
<h3 id="数据删除-deletephp">数据删除 delete.php</h3>
<pre><code class="language-php">&lt;?php
header('content-type:text/html,charset="utf8"');
$id=$_POST['id'];
$link=mysqli_connect("localhost","root","root");
if(!$link){
    echo "服务器忙,请重试";
    exit;
};
mysqli_set_charset($link,"utf8");
mysqli_select_db($link,"nz");
$sql="delete from students where id={$id}";
$res =mysqli_query($link,$sql);
if($res){
    echo "success";
}else{
    echo "error";
};
mysqli_close($link);
?&gt;
</code></pre>
<h3 id="数据修改-查找updatephp">数据修改-查找update.php</h3>
<pre><code class="language-php">&lt;?php
header("content-type:text/html,charset='utf8'");
$id=$_POST['id'];

$link=mysqli_connect("localhost","root","root");
if(!$link){
    echo "服务器忙,请重试";
    exit;
}
mysqli_set_charset($link,"utf8");
mysqli_select_db($link,"nz");
$sql="select* from students where id ='{$id}'";
$res=mysqli_query($link,$sql);
$arr = array();
while($row=mysqli_fetch_assoc($res)){
    array_push($arr,$row);
};
echo json_encode($arr);
mysqli_close($link);

?&gt;
</code></pre>
<h3 id="数据修改-更新-update1php">数据修改-更新 update1.php</h3>
<pre><code class="language-php">&lt;?php
header("content-type:text/html,charset='utf8'");
$id = $_POST['id'];
$username = $_POST['username'];
$chinese = $_POST['chinese'];
$math = $_POST['math'];
$english = $_POST['english'];

$link=mysqli_connect("localhost","root","root");
if(!$link){
    echo "服务器忙,请重试";
    exit;
}
mysqli_set_charset($link,"utf8");
mysqli_select_db($link,"nz");
// $sql="delete from students where id={$id}";
$sql = "UPDATE students SET username ={$username} ,chinese ={$chinese},math={$math},english={$english} where id={$id}";
$res=mysqli_query($link,$sql);
if($res){
    echo "success";
}else{
    echo "error";
};
mysqli_close($link);

?&gt;
</code></pre>


</div>
<div id="MySignature" role="contentinfo">
    请用今天的努力,让明天没有遗憾。<br><br>
来源:https://www.cnblogs.com/cupid10/p/13284473.html
頁: [1]
查看完整版本: js+php+mysql实现的学生成绩管理系统