Home > PHP Framework > ThinkPHP > body text

How to use thinkphp to sum and rank data

王林
Release: 2023-06-03 16:40:14
forward
973 people have browsed it

Step 1: Connect to the database

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();
    }
}
Copy after login
<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">// application/index/model/Data.php namespace app\index\model; use think\Model; class Data extends Model {}</pre><div class="contentsignin">Copy after login</div></div><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><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">$sum = 0; foreach ($list as $item) { $sum += $item[&amp;#39;field&amp;#39;]; }</pre><div class="contentsignin">Copy after login</div></div><p>In the above code, we need to <code>field Replace with the field name we want to sum.

Step 3: Ranking

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[&#39;sum&#39;] == $b[&#39;sum&#39;]) {
        return 0;
    }
    return $a[&#39;sum&#39;] > $b[&#39;sum&#39;] ? -1 : 1;
}
usort($list, "cmp");
Copy after login

In the above code, we need to replace sum with the name of our desired sum field.

Step 4: Output

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>
Copy after login

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!

Related labels:
source:yisu.com
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template