私はサーバーのリストを持っています。まず、サーバーをオンライン ユーザーの多い順に並べたいと思います。
しかし、現在進行中のサーバーがあり、現在オンラインのプレイヤーが最も多い場合は、無視したいと思います。
基本的にPLAYERS COUNT+ステータス=利用可能で注文するのですが、うまくいきませんか?
$query = $this->controller->db->fetch("argonite_servers", null, null, "server_status = 'Available', server_players");
そして、これが私の方法です:
public function fetch($table, array $criteria = null, $limit = null, $order = null)
{
// The query base
$query = "SELECT * FROM $table";
// Start checking
if ($criteria) {
$query .= ' WHERE ' . implode(' AND ', array_map(function($column) {
return "$column = ?";
}, array_keys($criteria)));
}
// limit
if ($limit)
{
$query .= " LIMIT ". $limit;
}
//order
if ($order)
{
$query .= " ORDER BY ".$order." DESC";
}
$check = $this->pdo->prepare($query) or die('An error has occurred with the following message:' . $query);
if ($criteria)
$check->execute(array_values($criteria));
else
$check->execute();
return $check;
}
利用可能なすべてのサーバーが表示されず、トップに最も多くのプレイヤーがいるのはなぜですか?
現在、私の表はこれを示しています:
(情報源: gyazo.com )
;
私は何を間違えましたか?