sql >> Databáze >  >> RDS >> Mysql

Importovat excel colls do sql

Podařilo se mi zjistit, že to bude fungovat s polem. Stále jsem to neroztřídil, ale vložím sem svůj kód, možná mi pomůžete.

<?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'));

   ?>

můj soubor csv vypadá takto:

cod_piesa, lungime, latime, inaltime
gl, 5000,, 150
fd, 3000, 2000, 100

co chci udělat, je vložit do tabulky mysql, jako je tato

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.

mysql tabulka se nazývá tbl_drafts a má sloupce draft_id, row, cod_piesa, header, value. draft_id je dočasné ID, které vygeneruji, řekněme $draft_id=1

po vložení ho musím přesměrovat na novou stránku, kde porovnám různé výsledky, řekněme 'verification.php'.

Děkuji mnohokrát za všechny vaše odpovědi

Prozatím používám soubor, který je nahrán na server, ale potřeboval bych mít možnost ručního nahrání, kde by návštěvník mohl nahrát soubor CSV nebo soubor Excel.

Jsem si jistý, že to pomůže mnoha lidem, pokud se to vyřeší. Zkoumal jsem možnost transpozice, ale nemohl jsem na to přijít.




  1. Získejte oprávnění sloupců pro tabulku v SQL Server pomocí T-SQL:sp_column_privileges

  2. Zobrazit záznamy, které počítají data určitého sloupce a sčítají celkové částky

  3. Získání posledního dne předchozího měsíce ve funkci Oracle

  4. Uložená procedura serveru SQL vrátí tabulku