我想从我的数据库中显示多个列值。
使用模型中的查询
$this->db->select('*');
$this->db->from('projectskillslist ps');
$this->db->join('empskillslist s', 's.skillsID = ps.skillsID', 'left');
$this->db->join('projects p', 'p.projectID = ps.projectID', 'left');
$this->db->where('ps.projectID = 1');
$query = $this->db->get();
$result = $query->result_array();
if ($query->num_rows() > 0) {
return $result;
}
return false;
在我的控制器中
$data['pSkills'] = $this->emp_model->view_projskills();
查询按预期完美返回:
现在在我看来,
我想打电话
Title: Project 1
SkillName: JAVA, PHP
到目前为止,我已经这样做了:
foreach ($pSkills as $data) {
echo $data['title'];
echo $data['skillName'];
}
我得到的结果是
Title: Project 1
Skills: PHP
Title: Project 2
Skills: JAVA
这确实是一个愚蠢的问题,我已经抬起头来寻找同样的问题,但我仍然没有运气。我希望你能帮助我。非常感谢你!!
答案 0 :(得分:1)
试试这个,但首先按项目ID和技能ID订购结果集。
'connections' => [
'Register-low' => [
'driver' => 'database',
'table' => 'tbljobs',
'queue' => 'low',
'retry_after' => 5,
],
'Register-high' => [
'driver' => 'database',
'table' => 'tbljobs',
'queue' => 'high',
'retry_after' => 5,
],
'ForgotPassword' => [
'driver' => 'database',
'table' => 'tbljobs',
'queue' => 'low',
'retry_after' => 5,
],
],
视图
$this->db->order_by('projectID, skillID');
答案 1 :(得分:0)
如果有帮助,请按照以下步骤进行..
步骤1:您必须连接GROUP_CONCAT将帮助的projectID。
步骤2.执行如下所示的SQL查询
SELECT projectID, skillName, GROUP_CONCAT(projectID) AS projid FROM
projectskillslist GROUP BY projid
第3步:要在视图中显示它,你可以使用PHP的explode()并对其进行迭代,如果有帮助的话,就像这样..
foreach ($pSkills as $row) {
echo $row->title;
echo explode(',', $row->skillName);
/*
or add below line of code if it doesn't works
*/
//echo str_replace(',', '<br />', $row->skillName);
}