Home >PHP Framework >ThinkPHP >How to use thinkphp to sum and rank data
Visit the ThinkPHP official website and download the latest version, then unzip it and place it in the server environment. In the ThinkPHP directory, you need to create a project named Test, and then create a controller and model in the project to get the data.
// application/index/controller/Index.php namespace app\index\controller; use think\Controller; use app\index\model\Data; class Index extends Controller { public function index() { $list = Data::all(); // 此处处理数据求和排名 $this->assign('list', $list); return $this->fetch(); } }
<pre class="brush:php;toolbar:false">// application/index/model/Data.php
namespace app\index\model;
use think\Model;
class Data extends Model {}</pre><p>ThinkPHP provides a good data access layer, we can easily extract data from the database through the above code. </p>
<h4>Step 2: Sum </h4>
<p>We can implement it as follows: </p><pre class="brush:php;toolbar:false">$sum = 0;
foreach ($list as $item) {
$sum += $item[&#39;field&#39;];
}</pre><p>In the above code, we need to <code>field
Replace with the field name we want to sum.
Next, we need to rank the summation results of the data. We first sort the data and then output the ordered table in the desired order.
function cmp($a, $b) { if ($a['sum'] == $b['sum']) { return 0; } return $a['sum'] > $b['sum'] ? -1 : 1; } usort($list, "cmp");
In the above code, we need to replace sum
with the name of our desired sum field.
Now that we have completed the summation and ranking of the data, we only need to render the data into HTML in order.
<table> <thead> <tr> <th>名称</th> <th>求和结果</th> <th>排名</th> </tr> </thead> <tbody> {volist name="list" id="vo"} <tr> <td>{$vo.name}</td> <td>{$vo.sum}</td> <td>{$i++}</td> </tr> {/volist} </tbody> </table>
In the above code, we need to replace name
with the column where we store the names and sum
with the column where we sum.
The above is the detailed content of How to use thinkphp to sum and rank data. For more information, please follow other related articles on the PHP Chinese website!