【问题标题】:create option from 2 tabels database in codeigniter在 codeigniter 中从 2 个表数据库创建选项
【发布时间】:2019-04-30 12:56:29
【问题描述】:

我有 2 个表数据库:

1.table 类别

2.table 基于这些类别的选项。

我想创建基于类别的选择组。

我的代码:

function config_cat($idVps){
		$this->db->select("*");
		$this->db->from("tbcategory_config as a");
		$this->db->join("tbconfig_option as b", "a.id_category = b.id_category");
		$this->db->where("id_vps",$idVps);
		$hasil = $this->db->get();
		return $hasil;
	}

<?php foreach($configcat->result_array() as $row):
									$category =$row['name'];
									$detailCon =$row['detail_config'];
							?>
							<div class="form-group col-md-12">
								<label><?php echo htmlentities($category, ENT_QUOTES, 'UTF-8'); ?></label>
								<select>
									<option><?php echo htmlentities($detailCon, ENT_QUOTES, 'UTF-8'); ?></option>
								</select>
							</div>
							<?php endforeach; ?>	

我希望输出将显示选择选项 “升级内存”= 1. 1Gb, 2. 2Gb

“升级核心”= 1 个核心

但实际结果是升级内存显示两次 (根据上面的第三张图)

【问题讨论】:

  • @u_mulder 我在插入代码时遇到了麻烦,但我已经修复了它。谢谢。

标签: php codeigniter


【解决方案1】:

不一定是最佳方法,但您可以通过不使用 join 子句轻松解决此问题,并且具有与父类别及其子类别分开的变量。

你没有展示你的控制器,所以提出建议并不完全直截了当,但可以尝试以下方式:

在您的控制器中: 有两个单独的变量由两个单独的模型调用填充。一个包含categories 表的内容,一个包含options 表的内容。最重要的是两者都包含category_id 字段

在您看来: 您需要两个嵌套的 foreach 循环。在类别上循环的最外层。选项的最内层循环。

<?php
foreach ($categories as $c)
{ ?
  <select name="<?php echo $c->category_id; ?>">
    <?php
    foreach ($options as $o)
    {
      if ($o->category_id == $c->category_id)
      { ?>
        <option value="<?php echo $o->option_id; ?>"><?php echo $o->option_name; ?>
</option>
      <?php 
      } ?>
  </select>
<?php
}
?>

更改以上内容以使用您自己的变量名称。 通过这样做,您将为每个类别填充一个 SELECT 元素,其中填充了与具有相同类别的选项一样多的 OPTION 元素

【讨论】:

  • 很高兴为您提供帮助 :)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-04-26
  • 1970-01-01
  • 2013-05-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多