Tutorial CodeIgniter

Si utilizáis el FrameWork CodeIgniter, generar ficheros CSV a partir de una consulta es relativamente sencillo. Os explicamos cómo.

Vamos a ir preparando el terreno y vamos a ir paso a paso. :

1. Creamos la vista con el siguiente código:

1
2
3
4
5
6
7
8
9
<!--?php
// Fichero: /application/views/jugadores_csv_view.php
header("Content-type: text/csv");
header("Content-Disposition: attachment; filename="nombredelfichero.csv");
header("Pragma: no-cache");
header("Expires: 0");
 
echo $contenido;
?-->

2. Preparamos el modelo con el código que devuelve el texto ya en formato CSV.

1
2
3
4
5
6
7
8
// Fichero: /application/models/jugadores_model.php
// Dentro del modelo añadimos el siguiente código
function jugadoresCreateCsv(){
   $sql = "SELECT * FROM jugadores WHERE goles > 5 ORDER BY nombre";
   $query = $this->db->query($sql);
   // Atentos a esta función que transforma el resultado de una query en CSV
   return $this->dbutil->csv_from_result($query);
}

3.1 Ahora le toca al controlador. Vamos al primer paso que consiste en preparar el controlador para poder utilizar la librería dbutil, función csv_from_result que utilitzamos en el

1
2
3
4
5
6
7
8
// Fichero: /application/controllers/jugadores.php
// Dentro de la función constructora cargamos la librería dbutil
function __construct(){
	parent::__construct();
	// Modelos
	$this->load->model('jugadores_model');
        $this->load->dbutil();
}

3.2 Y ahora creamos la función a la que llamaremos para crear el fichero y que también irá dentro del controlador.

1
2
3
4
5
6
7
8
// Fichero: /application/controllers/jugadores.php
// La función que define la creación del fichero 
public function createcsv(){
        // Los datos
        $data["contenido"]= $this->jugadores->jugadoresCreateCsv();
        // Cargamos la vista preparada con los headers CSV
        $this->load->view('jugadores_csv_view', $data);
}

Resumen del proceso

1. Hemos creado la vista preparada para decirle al navegador que será un fichero CSV
2. Hemos creado el modelo que gracias a la función “csv_from_result” de la librería “dbutil” convierte una query en csv
3. Le decimos al controlador que cargue la librería “dbutil”
4. Creamos la función que carga en la vista que hemos creado un contenido en formato CSV que nos ha creado el modelo.

Bueno, espero que os sirva de ayuda en vuestras creaciones.

Artículos relacionados

CodeIgniter – Exportar a excel con librería ... A la hora de hacer nuestras aplicaciones con CodeIgniter, puede surgir la necesidad de exportar los resultados de una consulta a Excel. Para ello, os ...
CodeIgniter – Problema con las comillas Uno de los problemas que más sufrimos a la hora de desarrollar son las comillas, las simples y las dobles. Cuando montas la consulta en el modelo, ha...
CodeIgniter – Clase email Primero un pequeño resumen, solamente para refrescar la memoria: Refrescamos la memoria Dónde se configura el email Antes de enviar emails, hay q...
CodeIgniter – Ver si el navegador soporta di... Cuando instalamos un navegador en nuestro sistema operativo, lo hacemos en un idioma. Así, cuando navegamos, nuestro navegador lo hace en un idioma u ...