A veces nos encontramos con el origen de los datos es un csv, vamos a explicar a leer un csv en php y mostrarlo en una tabla html.
Para ello vamos a explciar primero las funciones php que vamos a utilizar.
Primero utilizaremos la función str_getcsv que convierte un string con formato CSV a un array http://php.net/manual/es/function.str-getcsv.php
Y despues utilizaremos array_map que aplica la retrollamada a los elementos de los arrays dados http://php.net/manual/es/function.array-map.php
Para entendernos, lo que vamos a hacer es convertir el csv en una matriz con las funciones str_getcsv y array_map y kostrarlo en una tabla html recorriendo la matriz
Ahora paso a explicar las partes del codigo.
En estas dos lineas definimos la ubicacion del csv y creamos una variable donde gaurdamos el csv en una matriz.
<?php //ubicacion csv define('CSV', '100Records.csv'); //leer csv $readCsv = array_map('str_getcsv', file(CSV)); ?>
Y despues recorremos la matriz en dos bucles, uno para las filas y otro para las celdas
foreach ($readCsv as $itemCsv) { //recorremos cerdas del csv foreach ($itemCsv as $elementoItemCSV) { //mostramos la celda echo $elementoItemCSV; } }
El resultado final es el siguiente:
Y el codigo completo es el siguiente y lo podeis ver aqui en funcionamiento: http://programacionconphp.com/dev/readCSV/
<?php //index.php //ubicacion csv define('CSV', '100Records.csv'); //leer csv $readCsv = array_map('str_getcsv', file(CSV)); ?> <html> <table border="1"> <?php //recorremos filas del csv foreach ($readCsv as $itemCsv) { echo '<tr>'; //recorremos celdas del csv foreach ($itemCsv as $elementoItemCSV) { echo '<td>'; //mostramos la celda echo $elementoItemCSV; echo '</td>'; } echo '</tr>'; } ?> </table> </html>
El codigo del ejemplo lo podeis obtener desde aqui: https://github.com/victorgarciasisi/readCSV