【问题标题】:not able to retrieve data from database using codeigniter无法使用 codeigniter 从数据库中检索数据
【发布时间】:2018-02-06 12:21:12
【问题描述】:

我是 CodeIgniter 的新手。我已从一个表中检索数据,但无法从另一表中检索数据。视图部分不起作用。由于某种原因,PDF 显示为空白(使用 tcpdf)。我们可以将它作为数组获取吗?如果是,那么我们如何将它作为数组获取?某些数据似乎打印在我按下的按钮下方。它不会显示在我们单击按钮后生成的 pdf 上。

代码:

控制器

index(){
    $this->load->database();  
    //load the model  
    $this->load->model('Order_model');  
    //load the method of model  
    $data['h']=$this->Order_model->select();  
    //return the data in view  
    $this->load->view('includes/orderPdf', $data);   
}

型号

public function select()  
{  
   //data is retrive from this query  
   $query = $this->db->get('master_user');  
   return $query;  
}   

查看

<?php  
     foreach ($h->result() as $row)  
     {  
        ?><tr>  
        <td><?php echo $row->mobile_no ?></td>  
        <td><?php echo $row->country ?></td>  
        </tr>  
     <?php }  
     ?> 

【问题讨论】:

  • var_dump($h) in view. 你看到了什么?
  • nothing.它仍然是空白的,没有以pdf的形式打开

标签: php codeigniter


【解决方案1】:

最好的设置方法可能类似于:

控制器:

$this->load->model('Order_model', 'Order');
$data['orders'] = $this->Order->getOrder();

型号:

public function getOrder() {
    $q = $this->db->get('master_user');
    return $q->num_rows() ? $q->result_array() : [];
}

查看:

<?php foreach($orders as $order) { ?>
    <tr>
        <td><?=$order['mobile_no']?></td>
        <td><?=$order['country']?></td>
    </tr>
<?php } ?>

现在您还可以添加 if(empty($orders)) 并输入“没有要显示的订单”或类似内容。

【讨论】:

  • 虽然我完全同意这是一种更好的做事方式,但此代码和用户之间唯一真正的区别是您检查num_rows() ...所以除非数据库为空,否则用户将无论出于何种原因仍有问题。
  • @Alex 确实,我的编辑没有早先保存,他询问是否可以将结果收集为数组(至少从我的翻译中),因此我打算提供该解决方案。他的代码不起作用的原因是空数据库或他的脚本中的其他错误。
  • 我们可以使用二维数组来检索数据吗?例如 $order[0]['mobile_no']
  • @Ked 我的回答,你确实可以做 $orders[0]['mobile_no'] (但是,如果你没有订单,这会导致错误)但是如果你使用我提供的 if 语句以上应该可以解决这个问题。
猜你喜欢
  • 2017-08-27
  • 1970-01-01
  • 1970-01-01
  • 2014-04-20
  • 2021-12-14
  • 1970-01-01
相关资源
最近更新 更多