为了账号安全,请及时绑定邮箱和手机立即绑定

PHP/SQL 分组

PHP/SQL 分组

PHP
慕尼黑的夜晚无繁华 2023-11-03 15:31:51
我有这样的问题,我只想对所有车型进行分组和列出一次,我的问题如下所示:我希望它看起来像这样:MySQL:$all_model = $mysqli->query("SELECT mark, mark_url, model, model_url, engine, engine_url, generation, generation_url, year_production, body_car, body_car_url FROM auta WHERE mark_url = '$code_curr[3]' and model_url = '$code_curr[4]' GROUP BY generation, body_car");PHP:<?php foreach ($all_model as $value): ?>    <div class="col-lg-3">        <div class="crand-car-container">            <?php echo "Generation:" . $value["generation"]; ?>            <a href="/<?php echo $value['mark_url'] ?>/<?php echo $value['model_url'] ?>/<?php echo $value['generation_url'] ?>/<?php echo $value['body_car_url'] ?>"><?php echo $value['mark'] . " " . $value['model'] . " " . $value['year_production'] . " [" . $value['generation'] . "]" ?></a>        </div>    </div><?php endforeach; ?>
查看完整描述

1 回答

?
慕尼黑5688855

TA贡献1848条经验 获得超2个赞

你绝对应该为你的项目使用一些模板引擎,因为随着时间的推移它会变得更加复杂,并且混合 PHP 和 HTML 会造成更大的混乱。


我的想法是根据需要获取数据结构,然后迭代两个数组。使用模板引擎,它看起来会比我的代码更漂亮。


<?php

$generations = [];

foreach ($all_model as $value) {


    if (!isset($generations[$value['generation']])) {

        $generations[$value['generation']] = [];

    }


    $generations[$value['generation']][] = $value;

}


foreach ($generations as $generation => $model): ?>

    <div class="col-lg-3">

        <div class="crand-car-container">

            <?php echo "Generation:" . $generation; ?>

            <?php foreach ($model as $value): ?>

                <a href="/<?php echo $value['mark_url'] ?>/<?php echo $value['model_url'] ?>/<?php echo $value['generation_url'] ?>/<?php echo $value['body_car_url'] ?>"><?php echo $value['mark'] . " " . $value['model'] . " " . $value['year_production'] . " [" . $value['generation'] . "]" ?></a>

            <?php endforeach; ?>

        </div>

    </div>

<?php endforeach; ?>


查看完整回答
反对 回复 2023-11-03
  • 1 回答
  • 0 关注
  • 84 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信