在Codeigniter框架中生成報告最簡單的方法是什麼?有沒有任何圖書館可以做這項工作?除了繪製什麼是其他資源來做到這一點。Codeigniter中的報告
14
A
回答
41
我自己找到了一個很好的解決方案。如果您想以csv格式生成報告,使用codeigniter非常容易。 您的模型功能
function index(){
return $query = $this->db->get('my_table');
/*
Here you should note i am returning
the query object instead of
$query->result() or $query->result_array()
*/
}
現在控制器
function get_report(){
$this->load->model('my_model');
$this->load->dbutil();
$this->load->helper('file');
/* get the object */
$report = $this->my_model->index();
/* pass it to db utility function */
$new_report = $this->dbutil->csv_from_result($report);
/* Now use it to write file. write_file helper function will do it */
write_file('csv_file.csv',$new_report);
/* Done */
}
沒有的外部要求一切都在codeigntier可用。乾杯! 如果你想寫xml文件也很容易。
只需使用xml_from_result()
方法的dbutil和使用write_file('xml_file.xml,$new_report)
訪問這些鏈接,他們將提供幫助。
而且
0
完整的解釋:
型號:
class Csv_m extends MY_Model {
function getCSV() {
$sql = "SELECT * FROM tablename";
return $this->db->query($sql);
}
}
控制器:
class Generate extends CI_Controller {
var $file_path;
public function __construct() {
parent::__construct();
$this->file_path = realpath(APPPATH . '../assets/csv');
}
function index() {
$this->load->model('csv_m');
$this->load->dbutil();
$this->load->helper('file');
//get the object
$report = $this->csv_m->getCSV();
$delimiter = ",";
$newline = "\r\n";
$new_report = $this->dbutil->csv_from_result($report, $delimiter, $newline);
// write file
write_file($this->file_path . '/csv_file.csv', $new_report);
//force download from server
$this->load->helper('download');
$data = file_get_contents($this->file_path . '/csv_file.csv');
$name = 'name-'.date('d-m-Y').'.csv';
force_download($name, $data);
}
}
0
我用這個用於我的.csv報告。 它有能力在csv文件中更改數據庫字段名稱。 這裏是代碼。
public function export_csv() {
$file_name = 'File_name_'.date("Y-m-d h-i-s").'.csv';
$query = $this->db->query('SELECT
id as "Id", // id is table id and Id is the csv header field.
franchiseopt as "Nearest Location",
hear_about_us as "How did you hear about us?",
specify as "Specify",
email as "Email",
noguests as "Number of Guests",
eventdate as "Date of Event",
name as "Your Name",
phone as "Phone Number",
locationevent as "Location of Event",
message as "More Details"
FROM TABLE_NAME ORDER BY id DESC');
$this->load->dbutil();
$data = $this->dbutil->csv_from_result($query);
$this->load->helper('download');
force_download($file_name, $data);
exit();
}
顯然您需要根據您的表來替換數據庫表字段。
相關問題
- 1. CodeIgniter on 1and1錯誤報告
- 2. 將報告導出到EXCEL FILE Codeigniter
- 3. 報告Codeigniter如此硬代碼
- 4. RDLC報告中的多個子報告
- 5. 賈斯珀報告中的子報告
- 6. Jasper報告中的空白子報告
- 7. 水晶報告中的子報告
- 8. 主報告中的子報告
- 9. 報告服務:一個報告中的多個子報告
- 10. 的報告「」報告定義
- 11. 在CodeIgniter中從我的Web應用程序生成PDF報告
- 12. 如何修復codeigniter 1.7.2中的錯誤報告生活
- 13. Rownumber()在報告中未報告?
- 14. 報告中心BIDS報告參數
- 15. 報告中的webdriver
- 16. 如何在php codeigniter中以CSV格式進行報告
- 17. 如何在CodeIgniter項目中存儲報告描述?
- 18. 生成多個報告並在codeigniter中壓縮php
- 19. crystal報告子報告
- 20. 報告,子報告pentaho
- 21. Telerik報告子報告
- 22. 顯示子報告報告
- 23. Maven surefire中的迴歸報告 - 本地框中的報告?
- 24. 刪除水晶報告中的子報告中的重複2008
- 25. 如何將主報告組中的公式通過子報告(水晶報告)
- 26. Junit的報告不會生成報告
- 27. 白色報告與Java的Jasper報告
- 28. 我的主要報告中的參數不會添加到水晶報告中的我的子報告中
- 29. Datagridview的數據報告中的空白報告
- 30. Crystal Report - 使用ResultSet的主報告中的子報告
以我的經驗,我沒有找到任何東西。我可以知道你正在尋找什麼類型的報告嗎? – LoganPHP
我想從查詢生成報告。應該是任何格式的CSV,pdf或其他 –