php - 如何在 Codeigniter 中使用 PHP 根据列类别在行中显示 MySQL 数据
问题描述
在我的“magnums”表中,我有以下数据:
我想要的是将生产者显示为标题,然后在该标题下显示相应的行。我想要的输出:
我对 PHP 和 mysql 很陌生,所以我不知道该怎么做,但这就是我目前所拥有的:
模型:
class Magnum_model extends CI_Model {
public function get_magnum_wines() {
$query = $this->db->query('SELECT * FROM magnums');
return $query->result();
}
}
控制器:
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; ?>
我不知道如何将其排序为我想要的输出。任何帮助将不胜感激,并提前感谢您:)
解决方案
我有同样的事情,但葡萄酒类别/颜色,所以这就是我所做的:
首先创建一个名为 producer 的新表,其中包含 2 列:id 和 name。
在 wine 表中创建一个名为 producer_id 的新列。
此列的值对应于生产者表中的 id。
然后你可以像这样遍历它:
function extractWines() {
$producers = mysqli_query("SELECT id FROM producers");
foreach($producers as $key => $value) {
$query = mysqli_query("SELECT * FROM wines WHERE producer_id = " . $value . "");
$rowname = mysqli_fetch_assoc($query);
$html = <<<HTML
<h1>{$rowname['producer']}</h1>
HTML;
echo $html;
while($row = mysqli_fetch_assoc($query)) {
$html = <<<HTML
(html code of the item with styling)
HTML;
echo $html;
}
}
}
这应该可以帮助您解决问题。
推荐阅读
- c - 如何检查文本是否为数字
- xslt - 如何更换,到。| XSLT
- javascript - SweetAlert2 似乎对我不起作用。我做错了什么?
- javascript - 如何使用 Javascript 将 EJS 标签替换为另一个 EJS 标签
- loops - 使用相同的用户详细信息重新启动 Jmeter 线程组
- python - 从输入图像裁剪或覆盖面罩中的多边形到输出形状因子
- r - 如何存储需要从多个 R 项目访问的数据,同时保持代码可移植性?
- php - Laravel问题从电子邮件验证传递错误消息
- php - 在 PHP 应用程序的 docker 容器中使用 docker secrets
- rdf - OWL Ontology 中子类级别的推理关系