PHP/SQL分组
我有这样一个问题,我只想将所有车型分组并列出一次,我的问题如下: 我希望它看起来像这样: MySQL:PHP/SQL分组,php,Php,我有这样一个问题,我只想将所有车型分组并列出一次,我的问题如下: 我希望它看起来像这样: 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 = '$c
$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和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; ?>
您想实现一个简单的控制中断…将当前记录的生成与上一个记录的生成进行比较,然后根据它们是否匹配,做出相应的反应。这些可能会对您有所帮助,或者警告:您完全可以使用参数化的预处理语句,而不是手动生成查询。它们由或提供。永远不要相信任何形式的输入!即使您的查询仅由受信任的用户执行。
<?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; ?>