真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

php之接口與前端數(shù)據(jù)交互實(shí)現(xiàn)示例代碼

最近在做前后端數(shù)據(jù)交互的嘗試,也跳了很多坑,使用的是php+bootstrap-table+js,把一些收獲記錄在這里,方便查詢。

成都創(chuàng)新互聯(lián)公司堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:網(wǎng)站設(shè)計(jì)制作、網(wǎng)站制作、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的濰坊網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!

這個(gè)小項(xiàng)目,僅有3個(gè)文件,分別為:

1.crud.html
2.data.php
3.crud.sql

數(shù)據(jù)交互實(shí)現(xiàn)1:查詢

1.mysql 數(shù)據(jù)庫(kù)建表
2.php查詢接口
3.前端數(shù)據(jù)展現(xiàn)

mysql 數(shù)據(jù)庫(kù)建表

數(shù)據(jù)庫(kù)名稱:crud第一個(gè)表名:t_users主鍵:user_id,自增長(zhǎng)排列

php:

fetch_assoc()){
      $data[] = $row;
    }
  $json = json_encode(array(
      "resultCode"=>200,
      "message"=>"查詢成功!",
      "data"=>$data
    ),JSON_UNESCAPED_UNICODE);
  //轉(zhuǎn)換成字符串JSON
    echo($json);
  }
  
  
  /**查詢服務(wù)器中的數(shù)據(jù)
   * 1、連接數(shù)據(jù)庫(kù),參數(shù)分別為 服務(wù)器地址 / 用戶名 / 密碼 / 數(shù)據(jù)庫(kù)名稱
   * 2、返回一個(gè)包含參數(shù)列表的數(shù)組
   * 3、遍歷$sqls這個(gè)數(shù)組,并把返回的值賦值給 $s
   * 4、執(zhí)行一條mysql的查詢語(yǔ)句
   * 5、關(guān)閉數(shù)據(jù)庫(kù)
   * 6、返回執(zhí)行后的數(shù)據(jù)
   */
  function query_sql(){
    $mysqli = new mysqli("127.0.0.1", "root", "root", "crud");
    $sqls = func_get_args();
    foreach($sqls as $s){
      $query = $mysqli->query($s);
    }
    $mysqli->close();
    return $query;
  }
?>

前端實(shí)現(xiàn):




  
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    增刪改查
  

  
    

實(shí)現(xiàn)效果:

數(shù)據(jù)交互實(shí)現(xiàn)2:刪除

在做刪除時(shí)遇到不少的坑,究其原因是因?yàn)閷?duì)SQL語(yǔ)句不熟悉,對(duì)php不熟悉,不過(guò),總結(jié)了以下幾點(diǎn),供參考:

1.delete 返回的參數(shù)只能用 $_GET 獲?。?/p>

2.delete 返回的參數(shù)要放在URL中,不能放在body中;body中的參數(shù)是用來(lái)查詢的;

3.SQL語(yǔ)句一定要熟練,一步錯(cuò),步步錯(cuò);

4.要在數(shù)據(jù)庫(kù)中執(zhí)行SQL語(yǔ)句檢查語(yǔ)句是否執(zhí)行正確,要使用 Rest Client 測(cè)試URL請(qǐng)求是否正確;

php:

前端實(shí)現(xiàn)JS部分:

var $table = $('#table'),
  $remove = $('#remove');

  $(function() {
    delData();
  });

function delData() {
        $remove.on('click', function() {
          if(confirm("是否繼續(xù)刪除")) {
            var rows = $.map($table.bootstrapTable('getSelections'), function(row) {
              //返回選中的行的索引號(hào)
              return row.user_id;
            });
          }
              $.map($table.bootstrapTable('getSelections'),function(row){
            var del_url = "./php/data.php";
            //根據(jù)userId刪除數(shù)據(jù),因?yàn)檫@個(gè)id就是 傳給服務(wù)器的參數(shù)
            var rowId = row.user_id;
                  $.ajax({
              type:"delete",
              url:del_url + "?action=del_row&rowId=" + rowId,
              dataType:"html",
              contentType: 'application/json;charset=utf-8',
              success: function(data) {
                $table.bootstrapTable('remove',{
                  field: 'user_id',
                  values: rows
                });
                $remove.prop('disabled', true);
              },
              error:function(data){
                alert('刪除失??!');
              }
            });
          });
        })
      }

調(diào)試方法:

數(shù)據(jù)交互實(shí)現(xiàn)3:新增

在寫(xiě)php的方法上,我覺(jué)得我的方法是有問(wèn)題的,因?yàn)樗械膮?shù),也就是所有的需要新增的數(shù)據(jù)都是通過(guò) 接口以 ? 后跟參數(shù)的方式添加成功的。功能是可以實(shí)現(xiàn),但是如果新增的數(shù)據(jù)較大,這個(gè)方法顯示是不可行的,但是還沒(méi)有找到合適的方法,煩請(qǐng)大俠們指點(diǎn)。

php:

query($s);
    }
    $mysqli->close();
    return $query;
  }
?>

前端實(shí)現(xiàn)JS部分:

html使用了bootstrap 的 modal作為新增時(shí)的彈出框


    
          

var $table = $('#table'),
   $remove = $('#remove');

  $(function() {
      searchData();
    delData();
      $('#save').click(function(){
      addData();
    });
  }); 
function addData(){
        var userName = $('#userName').val();
        var userAge = $("#userAge").val();
        var userSex = $('#user-sex').val() == '0' ? '男' : '女';
          var addUrl = "./php/data.php?action=add_row&user_name=" + userName + "&user_age=" + userAge + "&user_sex=" + userSex;
          $.ajax({
          type:"post",
          url:addUrl,
          dataType:'json',
          contentType:'application/json;charset=utf-8',
          success:function(data){
            console.log("success");
          },
          error:function(data){
            console.log("data");
            //添加成功后隱蒧modal框
            setTimeout(function(){
              $('#exampleModal').modal('hide');
            },500);
              //隱藏modal框后重新加載當(dāng)前頁(yè)
            setTimeout(function(){
              searchData();
            },700);
          }
        });
      }

至此,還沒(méi)有解決如下問(wèn)題:

1.表單驗(yàn)證;

2.添加多條數(shù)據(jù)后,php如何接收參數(shù);

3.新增成功后,在$.ajax的方法中,為什么,新增成功后的其它操作要在 error 這個(gè)對(duì)象中實(shí)現(xiàn)?而不是在 sucess 中實(shí)現(xiàn)?
網(wǎng)頁(yè)名稱:php之接口與前端數(shù)據(jù)交互實(shí)現(xiàn)示例代碼
轉(zhuǎn)載注明:http://weahome.cn/article/cgpsoo.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部