php - 如何从逗号分隔的数组中获取单个数据并使用 codeigniter php 显示该记录的数据

标签 php jquery mysql codeigniter

嗨,我有投资组合表,我要在其中插入我所有的投资组合列表。在插入投资组合列表时,我将插入用逗号分隔的标签。但是在获取数据时,它应该在这个

Controller :

    $data["records2"] = $this->portfolio_model->get_portfolio();
    $data['mainpage'] = "portfolio";
    $this->load->view('templates/template',$data);

型号:

function get_portfolio()
{
    $this->db->Select('portfolio.*');
    $this->db->From('portfolio');
    $this->db->where(array('portfolio.status'=>1));
    $q=$this->db->get();
    if($q->num_rows()>0)      
    {       
        return $q->result();
     }
        else
        {
    return false;
  }
}

查看:

<div class="materials"> 
                    <div class="class453">              
                    <a href="#"  class="read_more12">All</a>
                    </div>
                    <div class="class455">
                    <a href="#"  class="read_more13">E-Commerce</a>
                    </div>
                    <div class="class459">
                    <a href="#"  class="read_more14">Cms</a>
                    </div>
                   </div>

     <?php 
        $cnt = 0;
                if(isset($records2) && is_array($records2)):?>
                <?php foreach ($records2 as $r):?>  
                <div class="portfolioimages">                   
    <a href="<?php echo $r->website_url;?>" target="_blank"><img src="<?php echo base_url();?>admin/images/portfolio/thumbs/<?php echo $r->image_path;?>" /></a>
</div>
<?php if(($cnt%3) == 0) { echo "<br>"; }            
                $cnt++; endforeach; endif;?>
</div>

在我的数据库中,它将以以下格式插入数据:

enter image description here

在获取数据时,它应该获取所有数据,但如果我们单击 CMS,则只应显示该特定标签的数据。 例如:如果我们选择 cms,则应显示 1、3、4 id,因为它们是 cms 标签,如果我们选择电子商务,则应显示 1、2、4 id。这些如何完成。

最佳答案

将标签存储在逗号分隔列表中是一种不好的做法。所有标签应始终存储在不同的表中,该表可以通过数据透视表与您的主表相关联。

在你的情况下,一个投资组合似乎可以有很多标签,一个标签可以属于许多投资组合,所以你应该有一个像这样的数据库结构:

投资组合

id 
title
description
image

标签

id 
tag

porfolio_tag(数据透视表)

portfolio_id
tag_id

但是,如果您想继续当前的设计,只需按原样选择记录,然后使用 php explode功能

关于php - 如何从逗号分隔的数组中获取单个数据并使用 codeigniter php 显示该记录的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40216673/

相关文章:

mysql - 在 wordpress 数据库中的 INSERT 查询中获取 SQL 语法错误

mysql - 如何撤销对包含双引号的用户的授权

php - 用户已经有超过 'max_user_connections' 个事件连接

java - 应为 BEGIN_ARRAY,但在第 1 行第 1 列处为 STRING : getting JSON from PHP to Java with Gson

php - 外键防止删除mysql中的数据

asp.net - 您将如何在服务器端操作 html 列表?

javascript - 如何在 materializecss 中禁用 autoslider?

mysql - 查找具有 0 或 1 个子树的子树中的所有节点

javascript - 我的注册码允许同一电子邮件注册两次(仅当表单快速连续多次提交时)

jquery - AngularJS + JQuery : How to get dynamic content working in angularjs