首页 > 解决方案 > 如何在 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; ?>

上述代码的输出: 在此处输入图像描述

我不知道如何将其排序为我想要的输出。任何帮助将不胜感激,并提前感谢您:)

标签: phpmysqlcodeignitermysqli

解决方案


我有同样的事情,但葡萄酒类别/颜色,所以这就是我所做的:

首先创建一个名为 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;

        }  
    }
}

这应该可以帮助您解决问题。


推荐阅读