1
これを行う方法はちょっとありません。私はこのPDOのものはすべて使い慣れていて、まだそれに慣れていません。基本的には、私は2つのテーブル、飛行機とユーザーを持っています。私はすべてのフライトの名前を見つけて、usersテーブルを調べ、SUMがフライト名の1つと等しい「points」カラムを探したいと思います。これは私がこれまで持っていると私はちょうどあなたは、SQLでsum
フィールドをフェッチする必要がある任意の更なるforeach文を使ってMySQL行のSUMをエコーする
<?php
$qry = "SELECT * FROM flights ORDER by points DESC";
$stmt = $_dbConn->query($qry);
$flightRows = $stmt->fetchAll();
$flightTotalPoints = [];
$qry = "SELECT flight, SUM(points) FROM users WHERE flight=:flightName ORDER by SUM(points) DESC";
$stmt = $_dbConn->prepare($qry);
foreach ($flightRows as $flight) {
$flightName = $flight["name"];
$stmt->execute(["flightName" => $flightName]);
$flightTotalPoints[$flightname] = $stmt->fetchAll();
}
<?php if (!count($flightRows)): ?>
<div class="alert alert-warning alert-block"><h4 class="alert-heading">Notice</h4>No flights have been created yet
</div>
<?php else: ?>
<div class="span12">
<div class="widget-box">
<div class="widget-title"><span class="icon"><i class="icon-th"></i></span>
<h5>Current Point Rankings</h5>
</div>
<div class="widget-content nopadding">
<table class="table table-bordered">
<thead>
<tr>
<th>Flight Name</th>
<th>Points</th>
</tr>
</thead>
<tbody>
<?php foreach ($flightRows as $flight): ?>
<tr>
<td><?php echo $flight["name"]; ?></td>
<td><?php echo $flightTotalPoints[$flight["name"]]; ?></td>
</tr>
<?php endforeach; ?>
</tbody>
</table>
</div>
</div>
にそれを置く、それにエイリアスを追加することができます完全に!多くのありがとう –
ああ!それに気付かなかった。それを更新しました。それはあなたのためにうれしいです。 –
エイリアスを使うのは良いです(私は定期的に行っています)。しかし、 '$ flight ['SUM(points)']'は動作します。 –