Выберите кандидата на основе количества и процента в PHP

Вы можете использовать ng-repeat для этого.

Обратите внимание, что если вы хотите отобразить HTML, вы должны использовать $sce.trustAsHtml для AngularJS для фактического отображения HTML. Затем вы можете использовать ng-bind-html в HTML.

var app = angular.module("Dummy", []);

var DummyController = function($scope, $sce) {
  var pageMax = 10;

  $scope.paginationItems = [];

  for (var i = 0; i < pageMax; i++) {
    var item = $sce.trustAsHtml('<a href="#">' + (i + 1) + '</a>');
    $scope.paginationItems.push(item);
  }
}

app.controller(DummyController, ["$scope, $sce", "DummyController"]);
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<link href="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet" />
<div ng-app="Dummy">
  <div class="text-center" ng-controller="DummyController">
    <ul class="pagination">
      <li ng-bind-html="item" ng-repeat='item in paginationItems'></li>
    </ul>
  </div>
</div>

0
задан zamtime 19 January 2019 в 11:02
поделиться

1 ответ

Вы можете использовать эту функцию:

function getNextAdIndex($aAd) {
    $scores = array_map(function ($ad) { return $ad["viewed"] / $ad["rotation"]; }, $aAd);
    return array_search(min($scores), $scores);
}

Возвращает индекс в $aAd, который имеет наименьшее количество просмотров по сравнению с тем, что он в идеале должен иметь (основываясь на проценте вращения) .

Пример использования

$aAd[] = array('viewed' => 0, 'rotation' => 70); // 70%
$aAd[] = array('viewed' => 0, 'rotation' => 30); // 30%

// Provide the next 100 views:    
for ($i = 0; $i < 100; $i++) {
    $j = getNextAdIndex($aAd);
    echo "showing add $j\n"; // Do whatever is needed to "display" an ad here
    $aAd[$j]["viewed"]++; // Increase its number of views
}
0
ответ дан trincot 19 January 2019 в 11:02
поделиться
Другие вопросы по тегам:

Похожие вопросы: