如何连接多个值并显示它

时间:2016-10-31 21:10:17

标签: javascript angularjs ajax

我正在为商店制作订单历史记录。

Database Image

正如您所看到的,某些日期时间是相同的,这意味着这些是必须在同一个表中的订单。

我试图制作的订单历史示例:

订单1
啤酒1 - (1-9-2016:21:37:20)
啤酒2 - (1-9-2016:21:37:20)
啤酒3 - (1-9-2016:21:37:20)

订单2
啤酒1 - (1-9-2016:21:43:16)
啤酒2 - (1-9-2016:21:43:16)
啤酒3 - (1-9-2016:21:43:16)


我目前拥有的是:

enter image description here

正如您所看到的,订单全部在一个表格中,而不按日期时间分组。

我收到订单的方法:

        $scope.callBatch = function () {
        var batchurl = "http://localhost/bierAngular/bierapi.php?action=getBatch";
        $http.get(batchurl).success(function (response) {
            $scope.batch = response;
        });
    };
    $scope.callBatch();

我如何填写HTML:

  <div class="showlijst">
        <h1>Bestelgeschiedenis</h1>
        <table border="1">
            <tr>
                <td>Naam</td>
                <td>Aantal</td>
                <td>Datum</td>
            </tr>
            <tr ng-repeat="b in batch | filter: datetime">
                <td>{{b.naam}}</td>
                <td>{{b.aantal}}</td>
                <td id="dtime">{{b.datetime}}</td>
            </tr>
        </table>
    </div>

抱歉我的英语不好,我尽力改善。

1 个答案:

答案 0 :(得分:0)

假设响应是一个对象数组,请在将其分配给scope属性之前按日期对其进行排序。 注意:示例中的日期没有标准格式,您必须在日期和时间之间替换分隔符,“:”,用“T”替换,将顺序更改为年 - 月 - 日期,并填写左侧-hand将1位数的值归零(在下面的示例中完成)。
注2:按降序排序改为:return Date.parse(dates [1]) - Date.parse(dates [0]);

$scope.callBatch = function () {
  var batchurl = "http://localhost/bierAngular/bierapi.php?action=getBatch";
  $http.get(batchurl).success(function (response) {
    response.sort(function (a, b) {
      var dates = [a.datetime, b.datetime];
      for (var i = 0; i < 2; i++) {
        var sep = dates[i].indexOf(":");
        var date = dates[i].substring(0, sep).split("-");
        var time = dates[i].substring(sep+1).split(":");
        for (var j = 0; j < 3; j++) {
          while(date[j].length < 2) {date[j] = "0"+date[j];}
          while(time[j].length < 2) {time[j] = "0"+time[j];}
        }
        dates[i] = date[2]+"-"+date[1]+"-"+date[0]+"T"+time[0]+":"+time[1]+":"+time[2];
      }
      return Date.parse(dates[0])-Date.parse(dates[1]);
    });
    $scope.batch = response;
  });
};
$scope.callBatch();