dphw5101 2019-02-02 10:27
浏览 78
已采纳

我可以遍历数据表列对象并添加+2的新行添加

I am fetching data from mysqli table using ajax jquery and fill that in Datatable as row using column object , can i able to loop through that data which i get in response from server and then make a new row addition by X number which i define.

I had tried but with this code i got same rows repeated in X times loop runs but don't add any kind of increment in other row.

My PHP API THAT GET DATA FROM MYSQL

if (isset($_POST['what_need']) AND $_POST['what_need'] == 'signup_getslabs') {

  $getTotalcountry = $obj -> getSlabSignup($_POST['placeid'], $_POST['range']);
  $return_ardr = array();

  foreach($getTotalcountry as $row) {
    $same_city_per_kg = $row['wc_slabr_hkg'];
    $diff_city_per_kg = $row['dc_slabr_hkg'];
    $fnfsamecityperkg = $same_city_per_kg - 50;
    $fnfdifferentcityperkg = $diff_city_per_kg - 50;
    $id = $row['id_slabr'];

    for ($i = 3; $i >= 0; $i--) {
      $samecit = $fnfsamecityperkg + 50;
      $diffcit = $fnfdifferentcityperkg + 50;
      $return_ardr[] = array(
        "samecity" => $samecit,
        "diffcity" => $diffcit,
        "weight" => 0.5,
        "idslab" => $id
      );
    }
  }

  function utf8ize($d) {
    if (is_array($d)) {
      foreach($d as $k => $v) {
        $d[$k] = utf8ize($v);
      }
    } else if (is_string($d)) {
      return utf8_encode($d);
    }
    return $d;
  }

  echo json_encode(utf8ize($return_ardr));
}

MY DATATABLE CODE THAT SEND AJAX REQUEST TO API AND PRINT DATA IN TABLE DEFINED BY ID

$('#ratestd').DataTable({
  "bDestroy": true,
  "serverSide": false,
  "ajax": {
    "url": "ajax-requests/ajaxm.php",
    "type": "POST",
    "dataSrc": function(d) {
      return d
    },
    "dataType": "json",

    "data": function(data) {
      data.what_need = 'signup_getslabs';
      data.placeid = placeid;
      data.range = range;
    }

  },
  dom: 'Bflrtip',
  "buttons": [
    'copyHtml5', 'excelHtml5', 'pdfHtml5', 'csvHtml5', 'colvis'
  ],
  "columns": [{
      "data": "weight"
    },
    {
      "data": "samecity"
    },
    {
      "data": "diffcity"
    }
  ]
});

I Expect output like this

WEIGHT     SAMECITY   DIFFERENT CITY
0.5 KG     50         100
1.0 KG     100        150
1.5 KG     150        200
2.0 KG     200        250

Expected Output

But What i get is

WEIGHT     SAMECITY   DIFFERENT CITY
0.5 KG     50         100
0.5 KG     50         100
0.5 KG     50         100
0.5 KG     50         100

What i Get

  • 写回答

1条回答 默认 最新

  • dtxzwdl08169 2019-02-02 11:01
    关注

    The problem looks like its coming from your for loop.

    for ($i = 3; $i >= 0; $i--) {
      $samecit = $fnfsamecityperkg + 50;
      $diffcit = $fnfdifferentcityperkg + 50;
      $return_ardr[] = array(
        "samecity" => $samecit,
        "diffcity" => $diffcit,
        "weight" => 0.5,
        "idslab" => $id
      );
    }
    

    Assuming this is where you are creating the 4 values you probably need to try something like:

    $samecit = $fnfsamecityperkg;
    $diffcit = $fnfdifferentcityperkg;
    $weight = 0;
    
    for ($i = 3; $i >= 0; $i--) {
        $samecit +=  50;
        $diffcit +=  50;
        $weight += 0.5;
        $return_ardr[] = array(
            "samecity" => $samecit,
            "diffcity" => $diffcit,
            "weight" => $weight,
            "idslab" => $id
        );
    }
    

    Returns:

    array (size=4)
      0 => 
        array (size=4)
          'samecity' => int 50
          'diffcity' => int 100
          'weight' => float 0.5
          'idslab' => null
      1 => 
        array (size=4)
          'samecity' => int 100
          'diffcity' => int 150
          'weight' => float 1
          'idslab' => null
      2 => 
        array (size=4)
          'samecity' => int 150
          'diffcity' => int 200
          'weight' => float 1.5
          'idslab' => null
      3 => 
        array (size=4)
          'samecity' => int 200
          'diffcity' => int 250
          'weight' => float 2
          'idslab' => null
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 删除虚拟显示器驱动 删除所有 Xorg 配置文件 删除显示器缓存文件 重启系统 可是依旧无法退出虚拟显示器
  • ¥15 vscode程序一直报同样的错,如何解决?
  • ¥15 关于使用unity中遇到的问题
  • ¥15 开放世界如何写线性关卡的用例(类似原神)
  • ¥15 关于并联谐振电磁感应加热
  • ¥15 this signal is connected to multiple drivers怎么解决
  • ¥60 请查询全国几个煤炭大省近十年的煤炭铁路及公路的货物周转量
  • ¥15 请帮我看看我这道c语言题到底漏了哪种情况吧!
  • ¥66 如何制作支付宝扫码跳转到发红包界面
  • ¥15 pnpm 下载element-plus