我在table上有一张唱片
Name | Mobile | Country | State | City
XYZ | 0123456789 | 231 | 3921 | 42737
mnb | 0125415245 | 13 | 269 | 6602
lkh | 9874525415 | 231 | 3939 | 44668
现在我正在使用codeigniter。我正在用phpexcel导出excel表中的数据
控制器:
public function export_order_list() {
$object = new PHPExcel();
$object->setActiveSheetIndex(0);
$table_columns = array("Name","Mobile","Country","State","City");
$column = 0;
$object->getActiveSheet()->getStyle('1:1')->getFont()->setBold(true);
foreach($table_columns as $field) {
$object->getActiveSheet()->setCellValueByColumnAndRow($column, 1, $field);
$column++;
}
$export_list = $this->Customer_model->export_order_list_model();//getting all records
$excel_row = 2;
foreach($export_list as $row) {
$object->getActiveSheet()->setCellValueByColumnAndRow(0, $excel_row, $row->Name);
$object->getActiveSheet()->setCellValueByColumnAndRow(1, $excel_row, $row->Mobile);
$object->getActiveSheet()->setCellValueByColumnAndRow(2, $excel_row, $row->Country);
$object->getActiveSheet()->setCellValueByColumnAndRow(3, $excel_row, $row->State);
$object->getActiveSheet()->setCellValueByColumnAndRow(4, $excel_row, $row->City);
$excel_row++;
}
$object_writer = PHPExcel_IOFactory::createWriter($object, 'Excel5');
header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment;filename="list.xls"');
$object_writer->save('php://output');
}
型号:
public function export_order_list_model(){
$this->db->select("*");
$this->db->from('tbl_customer');
$query = $this->db->get();
$result = $query->result();
if($result) {
return $result;
} else {
return 0;
}
}
我正在获取输出。
现在我的问题是如何显示身份证上的国家名称、州名称和城市名称?
我需要这样的输出
我在数据库中有所有国家、州和城市的名称,表的列名是
Country
id |country_name
State
id| state_name |country_id
City
id |cities_name|state_id
更新:
请检查我的查询是否正确?因为这对我没用。
$this->db->select("*");
$this->db->from('tbl_customer');
$this->db->join('Country', 'Country.id=tbl_customer.c_b_country');
$this->db->join('State', 'State.id=tbl_customer.c_b_state');
$this->db->join('City', 'City.id=tbl_customer.c_b_city');
2条答案
按热度按时间3npbholx1#
此查询将起作用。
whhtz7ly2#
原始sql查询应如下所示:
这里发生了一些事情:
用您计划使用的数据联接每个表
在select中,必须引用列在联接表中的显示
删除了
select *
最终会在多个地方出现像“id”这样的模糊字段使用as关键字将列重命名为代码中使用的列
请尝试直接在数据库中运行这个原始查询,以确保它达到预期效果。在那之后,它只是一个将它格式化回php的例子。