在我的“magnums”表中,我有以下数据:
我想要的是将制作人显示为标题,然后显示该标题下的相应行。 我想要的输出:
我是 PHP 和 mysql 的新手,所以我不确定该怎么做,但这是我目前所拥有的:
型号:
class Magnum_model extends CI_Model {
public function get_magnum_wines() {
$query = $this->db->query('SELECT * FROM magnums');
return $query->result();
}
}
Controller :
public function index() {
$data['magnums']= $this->Magnum_model->get_magnum_wines();
$this->load->view('magnums.php',$data);
}
查看:
<h3>Domaine Vincent Rapet</h3>
<?php foreach($magnums as $magnum): ?>
<div id="magnum-img">
<div class="gallery">
<img src="/BurgundyDirect/gallery/<?php echo $magnum->Image; ?>">
</div><!-- gallery ends -->
<div class="desc">
<div id="wine-name">
<h5><?php echo $magnum->Name_of_wine; ?></h5>
</div>
<h6><a href="#"><?php echo $magnum->Producer; ?></a><h6>
<h4><?php echo $magnum->Magnum_price; ?></h4>
</div>
</div>
<?php endforeach; ?>
我不知道如何将它排序为我想要的输出。任何帮助将不胜感激,并提前感谢您:)
最佳答案
如果需要展示产品组,可以在controller中获取producer的producers和相关products的list。
- 在您的生产者模型中,创建获取所有生产者的方法(
select * from producer
)。 - 在 Controller 中获取生产者
$producer = $this->Producer_model->get_producer();
- 然后创建包含生产者名称和产品的数组。
示例代码:
$producerWithProducts = array();
foreach($producers as $producer) {
$producerId = $producer->Id;
$producerWithProducts[$producerId]['producerName'] = $producer->Name;
$producerWithProducts[$producerId]['products'] = $this->Magnum_model->get_magnum_wines_by_producer_id($producerId);
}
然后在模板中传递$producerWithProducts
并迭代它。
关于php - 如何在 Codeigniter 中使用 PHP 基于列类别在行中显示 MySQL 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51908255/