Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Importar cols do excel para sql


Eu consegui descobrir que vai funcionar com array. Ainda não resolvi mas vou colocar meu código aqui, talvez vocês possam me ajudar.
<?php
   function csv_to_array($filename='', $delimiter=',') {
    if(!file_exists($filename) || !is_readable($filename))      return
   FALSE;       $header = NULL;     $data = array();    if (($handle =
   fopen($filename, 'r')) !== FALSE)    {       while (($row =
   fgetcsv($handle, 1000, $delimiter)) !== FALSE)       {           if(!$header)
                $header = $row;
                        else
                $data[] = array_combine($header, $row);
                    }       fclose($handle);    }   return $data; } /**  * Example  */ print_r(csv_to_array('example.csv'));

   ?>

meu arquivo csv está assim:
cod_piesa, lungime, latime, inaltime
gl, 5000,, 150
fd, 3000, 2000, 100

o que eu quero fazer é inserir em uma tabela mysql como esta
row = 0
cod_piesa = GL
header = lungime
value = 5000

next one

row = 0
cod_piesa = GL
header = latime
value = NULL

row = 0
cod_piesa = GL
header = inaltime
value = 150

row = 1
cod_piesa = FD..... and so on.

A tabela mysql é chamada tbl_drafts e tem as colunas draft_id, row, cod_piesa, header, value. draft_id é um ID temporário que vou gerar, digamos $draft_id=1

depois de inserir eu preciso redirecioná-lo para uma nova página onde vou comparar resultados diferentes, digamos 'verification.php'.

Muito obrigado por todas as suas respostas

Por enquanto estou usando um arquivo que é carregado no servidor, mas precisaria ter uma opção de upload manual onde o visitante pode fazer upload do arquivo CSV ou Excel.

Tenho certeza que isso vai ajudar muita gente se for resolvido. Eu dei uma olhada na opção de transposição, mas não consegui descobrir.