2016-10-31 5 views
0

Я делаю заказ-историю для магазина.
Как подключить несколько значений и отобразить их

Database Image

Как вы можете увидеть некоторые DateTime являются тем же, что означает, что эти заказы, что должно идти в той же таблице.

Пример заказа-истории, что им пытаются сделать:

Заказать 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> 

Извините за мой плохой английский, я пробую все возможное, чтобы улучшить.

ответ

0

Предполагая, что ответ представляет собой массив объектов, отсортируйте его по дате перед назначением его свойства scope. Примечание: даты в вашем примере не имеют стандартного формата, вы должны заменить разделитель между датой и временем, «:», «Т», изменить порядок на год-месяц-дату и заполнить левые значения нулей 1 разряда (сделанные в примере ниже).
Примечание 2: Сортировать в порядке убывания изменить: return Date.parse (даты [1]) - Date.parse (даты [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(); 
+0

Привет, Дилан, можете ли вы ответить на ответ, нажав на стрелку вверху над числом голосов? Если это действительно для вас, оно должно быть поддержано (я здесь новый и пытаюсь получить репутацию) Cheers –