Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/magento/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何从codeIgniter 3.x.x中的两个不同表中获取值_Php_Mysql_Codeigniter - Fatal编程技术网

Php 如何从codeIgniter 3.x.x中的两个不同表中获取值

Php 如何从codeIgniter 3.x.x中的两个不同表中获取值,php,mysql,codeigniter,Php,Mysql,Codeigniter,我在这里提出了另一个问题,我被谷歌搜索到了,但没有运气。现在我希望我能在这里找到解决方案。 我的问题是 我有两个表,图像和类别。图像表如下所示。 在此表中,类别图像和图标将仅存储在Image_name列中,其中图标和图像的id将作为外键存储在其他表中 类别表如下所示 所以我的问题是,我想用类别图像和类别图标显示所有类别名称。 但是,当我编写模型查询时,它只获取图像,而不获取图标 我的模型查询: public function getAllCatsForAdminPanel(){

我在这里提出了另一个问题,我被谷歌搜索到了,但没有运气。现在我希望我能在这里找到解决方案。 我的问题是

我有两个表,图像和类别。图像表如下所示。 在此表中,类别图像和图标将仅存储在Image_name列中,其中图标和图像的id将作为外键存储在其他表中

类别表如下所示

所以我的问题是,我想用类别图像和类别图标显示所有类别名称。 但是,当我编写模型查询时,它只获取图像,而不获取图标

我的模型查询:

 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图像相同,感谢您的快速响应。我找到了解决办法