Php 如何从codeIgniter 3.x.x中的两个不同表中获取值
我在这里提出了另一个问题,我被谷歌搜索到了,但没有运气。现在我希望我能在这里找到解决方案。 我的问题是 我有两个表,图像和类别。图像表如下所示。 在此表中,类别图像和图标将仅存储在Image_name列中,其中图标和图像的id将作为外键存储在其他表中 类别表如下所示 所以我的问题是,我想用类别图像和类别图标显示所有类别名称。 但是,当我编写模型查询时,它只获取图像,而不获取图标 我的模型查询:Php 如何从codeIgniter 3.x.x中的两个不同表中获取值,php,mysql,codeigniter,Php,Mysql,Codeigniter,我在这里提出了另一个问题,我被谷歌搜索到了,但没有运气。现在我希望我能在这里找到解决方案。 我的问题是 我有两个表,图像和类别。图像表如下所示。 在此表中,类别图像和图标将仅存储在Image_name列中,其中图标和图像的id将作为外键存储在其他表中 类别表如下所示 所以我的问题是,我想用类别图像和类别图标显示所有类别名称。 但是,当我编写模型查询时,它只获取图像,而不获取图标 我的模型查询: public function getAllCatsForAdminPanel(){
public function getAllCatsForAdminPanel(){
//extract($data);
$this->db->select('categories.id AS cat_id, categories.cat_name AS cat_name, categories.display_order AS cat_dis_order, images.image_name as imageName');
$this->db->from('categories');
$this->db->where('categories.status =', 'a');
$this->db->join('images', 'images.id = categories.cat_icon', 'left');
$this->db->join('images as im', 'im.id = categories.cat_image', 'left');
$query = $this->db->get();
//$query = $this->db->get('categories');
//print_r($query);
if($query->num_rows()>0){
return $query->result();
}else{
return false;
}
}
我的控制器:
public function category(){
logActivity();
$cats_data['all_cats'] = $this->cat_model->getAllCatsForAdminPanel();
//print_r($cats_data);
$this->load->view('admin/category', $cats_data);
}//close category
我的视图代码:
<?php
if(count($all_cats) > 0){
//print_r($all_cats);
foreach($all_cats as $all_cat){
?>
<tr>
<td><?php echo ++$counter; ?></td>
<td><?php echo $all_cat->cat_name; ?></td>
<td><?php echo $all_cat->cat_dis_order; ?></td>
<td><?php echo $all_cat->imageName; ?></td>
<td><?php echo $all_cat->imageName; ?></td>
<td>
<a href="<?php echo base_url('admin/admin/modifyCategory/'.$all_cat->cat_id); ?>"><i class="fa fa-pencil" aria-hidden="true"></i></a>
</td>
<td><button class = "btn btn-danger" onclick="deleteCategory(<?php echo $all_cat->cat_id; ?>);"><i class="fa fa-trash" aria-hidden="true"></i></button></td>
</tr>
<?php
}
}
else{
echo "no records found";
}
?>
如果我没有弄错,请更新以下行
模型中
$this->db->select('categories.id AS cat_id, categories.cat_name AS cat_name, categories.display_order AS cat_dis_order, images.image_name as imageName, images.image_label as imageLabel');
鉴于,
<td><?php echo ++$counter; ?></td>
<td><?php echo $all_cat->cat_name; ?></td>
<td><?php echo $all_cat->cat_dis_order; ?></td>
<td><?php echo $all_cat->imageName; ?></td>
<td><?php echo $all_cat->imageLabel; ?></td>
如果我没有弄错,请更新以下行
模型中
$this->db->select('categories.id AS cat_id, categories.cat_name AS cat_name, categories.display_order AS cat_dis_order, images.image_name as imageName, images.image_label as imageLabel');
鉴于,
<td><?php echo ++$counter; ?></td>
<td><?php echo $all_cat->cat_name; ?></td>
<td><?php echo $all_cat->cat_dis_order; ?></td>
<td><?php echo $all_cat->imageName; ?></td>
<td><?php echo $all_cat->imageLabel; ?></td>
将控制器更改为(您需要从images表的second join中选择图标作为im,我们将其命名为iconName)(请注意,我没有测试它):
那么在我们看来,我们需要将图标写为iconName:
<?php
if(count($all_cats) > 0){
//print_r($all_cats);
foreach($all_cats as $all_cat){
?>
<tr>
<td><?php echo ++$counter; ?></td>
<td><?php echo $all_cat->cat_name; ?></td>
<td><?php echo $all_cat->cat_dis_order; ?></td>
<td><?php echo $all_cat->imageName; ?></td>
<td><?php echo $all_cat->iconName; ?></td>
<td>
<a href="<?php echo base_url('admin/admin/modifyCategory/'.$all_cat->cat_id); ?>"><i class="fa fa-pencil" aria-hidden="true"></i></a>
</td>
<td><button class = "btn btn-danger" onclick="deleteCategory(<?php echo $all_cat->cat_id; ?>);"><i class="fa fa-trash" aria-hidden="true"></i></button></td>
</tr>
<?php
}
}
else{
echo "no records found";
}
?>
将控制器更改为(您需要从images表的second join中选择图标为im,我们已将其命名为iconName)(请注意,我尚未对其进行测试):
那么在我们看来,我们需要将图标写为iconName:
<?php
if(count($all_cats) > 0){
//print_r($all_cats);
foreach($all_cats as $all_cat){
?>
<tr>
<td><?php echo ++$counter; ?></td>
<td><?php echo $all_cat->cat_name; ?></td>
<td><?php echo $all_cat->cat_dis_order; ?></td>
<td><?php echo $all_cat->imageName; ?></td>
<td><?php echo $all_cat->iconName; ?></td>
<td>
<a href="<?php echo base_url('admin/admin/modifyCategory/'.$all_cat->cat_id); ?>"><i class="fa fa-pencil" aria-hidden="true"></i></a>
</td>
<td><button class = "btn btn-danger" onclick="deleteCategory(<?php echo $all_cat->cat_id; ?>);"><i class="fa fa-trash" aria-hidden="true"></i></button></td>
</tr>
<?php
}
}
else{
echo "no records found";
}
?>
试试这个:
模型修改
$this->db->select('categories.id AS cat_id, categories.cat_name AS cat_name, categories.display_order AS cat_dis_order, images.image_name as iconName, im.image_name as imageName');
<td><?php echo ++$counter; ?></td>
<td><?php echo $all_cat->cat_name; ?></td>
<td><?php echo $all_cat->cat_dis_order; ?></td>
<td><?php echo $all_cat->imageName; ?></td>
<td><?php echo $all_cat->iconName; ?></td>
视图修改
$this->db->select('categories.id AS cat_id, categories.cat_name AS cat_name, categories.display_order AS cat_dis_order, images.image_name as iconName, im.image_name as imageName');
<td><?php echo ++$counter; ?></td>
<td><?php echo $all_cat->cat_name; ?></td>
<td><?php echo $all_cat->cat_dis_order; ?></td>
<td><?php echo $all_cat->imageName; ?></td>
<td><?php echo $all_cat->iconName; ?></td>
试试这个:
模型修改
$this->db->select('categories.id AS cat_id, categories.cat_name AS cat_name, categories.display_order AS cat_dis_order, images.image_name as iconName, im.image_name as imageName');
<td><?php echo ++$counter; ?></td>
<td><?php echo $all_cat->cat_name; ?></td>
<td><?php echo $all_cat->cat_dis_order; ?></td>
<td><?php echo $all_cat->imageName; ?></td>
<td><?php echo $all_cat->iconName; ?></td>
视图修改
$this->db->select('categories.id AS cat_id, categories.cat_name AS cat_name, categories.display_order AS cat_dis_order, images.image_name as iconName, im.image_name as imageName');
<td><?php echo ++$counter; ?></td>
<td><?php echo $all_cat->cat_name; ?></td>
<td><?php echo $all_cat->cat_dis_order; ?></td>
<td><?php echo $all_cat->imageName; ?></td>
<td><?php echo $all_cat->iconName; ?></td>
更换控制器线路:
$this->db->select('
categories.id AS cat_id,
categories.cat_name AS cat_name,
categories.display_order AS cat_dis_order,
images.image_name as imageName');
与
在视图中,请使用此代码:
<?php
if(count($all_cats) > 0){
//print_r($all_cats);
foreach($all_cats as $all_cat){
?>
<tr>
<td><?php echo ++$counter; ?></td>
<td><?php echo $all_cat->cat_name; ?></td>
<td><?php echo $all_cat->cat_dis_order; ?></td>
<td><?php echo $all_cat->cat_image; ?></td>
<td><?php echo $all_cat->cat_icon; ?></td>
<td>
<a href="<?php echo base_url('admin/admin/modifyCategory/'.$all_cat->cat_id); ?>"><i class="fa fa-pencil" aria-hidden="true"></i></a>
</td>
<td><button class = "btn btn-danger" onclick="deleteCategory(<?php echo $all_cat->cat_id; ?>);"><i class="fa fa-trash" aria-hidden="true"></i></button></td>
</tr>
<?php
}
}
else{
echo "no records found";
}
?>
更换控制器线路:
$this->db->select('
categories.id AS cat_id,
categories.cat_name AS cat_name,
categories.display_order AS cat_dis_order,
images.image_name as imageName');
与
在视图中,请使用此代码:
<?php
if(count($all_cats) > 0){
//print_r($all_cats);
foreach($all_cats as $all_cat){
?>
<tr>
<td><?php echo ++$counter; ?></td>
<td><?php echo $all_cat->cat_name; ?></td>
<td><?php echo $all_cat->cat_dis_order; ?></td>
<td><?php echo $all_cat->cat_image; ?></td>
<td><?php echo $all_cat->cat_icon; ?></td>
<td>
<a href="<?php echo base_url('admin/admin/modifyCategory/'.$all_cat->cat_id); ?>"><i class="fa fa-pencil" aria-hidden="true"></i></a>
</td>
<td><button class = "btn btn-danger" onclick="deleteCategory(<?php echo $all_cat->cat_id; ?>);"><i class="fa fa-trash" aria-hidden="true"></i></button></td>
</tr>
<?php
}
}
else{
echo "no records found";
}
?>
这是因为td图标中的变量与td图像相同,感谢您的快速响应。我得到了解决方案,这是因为td图标中的变量与td图像相同,感谢您的快速响应。我找到了解决办法