0
私のプロジェクト用の試験レポートcsvファイルを生成していますが、エクスポートされたcsvファイルに挿入されるデータをカスタマイズしたいとします。それ、どうやったら出来るの?私はこのためにCodeigniterを使用しています。php codeigniterを使用して生成されたcsvファイルのデータをフォーマットします
現在のところ、私のコードは、質問と、その質問に対する正解と間違った回答の数を含むcsvファイルを生成することができます。
ここにダウンロードしたファイルの画像があります。 Generated CSV File
は、しかし、私は、それは次のようになりたいと思った: コントローラー:
public function csv_report($exam_no){
$this->load->model('instant_model');
$median = $this->median($exam_no);
$this->instant_model->exportToCSV($exam_no);
}
モデル:だから
public function exportToCSV($exam_no){
$this->load->dbutil();
$this->load->helper('file');
$this->load->helper('download');
$delimiter = ",";
$newline = "\r\n";
$filename = "exam_report.csv";
$query = " SELECT DISTINCT(questions.question_id), questions.question,
(SELECT count(score) FROM exam_set WHERE exam_no = '$exam_no' AND score > 0 AND questions.question_id = exam_set.question_id) AS correct ,
(SELECT count(score) FROM exam_set WHERE exam_no = '$exam_no' AND score = 0 AND questions.question_id = exam_set.question_id) AS wrong
FROM questions INNER JOIN exam_set ON (questions.question_id = exam_set.question_id) WHERE exam_no = '$exam_no';";
$result = $this->db->query($query);
$data = $this->dbutil->csv_from_result($result, $delimiter, $newline);
force_download($filename, $data);
}
以下のようにそれは動作しますが、その後追加されたデータがデータベースから来る場合は何?私は$ row2値をクエリとして置き換えようとしました。しかし、csvセルに 'Array'と 'Resource id#36'と表示されるデータは表示されません。 – dubiousconquest
クエリで置き換えません。 '$ row2 = $ result-> row_array()'に置き換えてください。 – jagad89
これは動作します!どうもありがとうございます。 – dubiousconquest