Autor Zpráva
tatyalien
Profil *
Dobrý den,
mám takový problémek, pokud data exportuji pomocí:

$sql = "SELECT * INTO OUTFILE 'C:/xampp/htdocs/www/import_pokus/VYJEZD.csv'
FIELDS 
    TERMINATED BY  ';'
    OPTIONALLY ENCLOSED BY '\"'
    ESCAPED BY '\"'
LINES 
    TERMINATED BY '\r\n'
FROM tabulka";


tak se data vyexportují správně (to znamená, že když je v cs třeba v jednom sloupci: <p style="font-size: 11pt; margin-top: 20px; margin-bottom: 0pt;"><b>Obsah balení</b></p> tak se mě po exportu text nerozseká.

Ale takto nemám ve výsledném souboru jména sloupců, pokud si ale napíšu vlastní funkci:


$vysledek = mysql_query ("SELECT * FROM tabulka");

// Vypsání na začátku jmen sloupců...
$obsah .= "Přízank";
$obsah .= ";Index";
$obsah .= "\n";

// vyexportování záznamů

  while ($zaznam=MySQL_Fetch_Array($vysledek)):
    $obsah .= $zaznam["Priznak"];
    $obsah .= ";";
    $obsah .= $zaznam["IndexA"];
    $obsah .= "\n";
  endwhile;

$soubor=fopen("C:/xampp/htdocs/www/import_pokus/vyjezd_dva.csv", "w");
fwrite($soubor,$obsah);
fclose($soubor);


tak se mě pak výsledný text rozdělí pomocí středníků (to znamená, že se data rozhodí. Neřešil někdo již takovýto problém? Potřeboval bych to nějak ošetřit :-(
tiso
Profil
tatyalien - nesedí ti formát výpisu, pôvodný súbor a výsledný vyzerajú inak. Doplň si tam správne znaky.
Druhá možnosť je urobiť pôvodný export a len na začiatok súboru vložiť riadok s menami stĺpcov. Ale tiež musíš dodržať formát výpisu.
AM_
Profil
Do CSV se standardně názvy sloupců neukládají; slouží pro import dat do již vytvořené tabulkové struktury, a ne její vytvoření (pak bys stejně musel ukládat informace jako typ sloupců, délka, default atd...), takže proč to?
tiso
Profil
AM_ - on to chce asi importnúť do excelu alebo kam, tak mu to tam chýba...
AM_
Profil
AM_ - on to chce asi importnúť do excelu alebo kam, tak mu to tam chýba...
viděl jsem na netu nějaké třídy v PHP pro práci s .xls, tak by to asi v tom případě bylo lepší než to tlačit přes csv
tatyalien
Profil *
Jedná se mě o to, že aktualizuji data z obchodu na internetu, tam si stáhnu "dtb" ve formátu csv odděleném středníkem, to si nahraju do dotb, předělám a potřebuji pak výsledek vyexportovat do csv kde jsou zase jména sloupců + data.
tatyalien
Profil *
Zdrojová data stažená v csv:

menu_pol1;menu_pol2;menu_pol3;...
a1;b1;c1;..
a2;b2;c2;..

tyto si nahodim pomocí již zmíněného SELECT * INTO OUTFILE do mysql.

S datama pak budu dál pracovat. Po zpracování je musím vyexportovat do stejného znění jako na začátku:

menu_pol1;menu_pol2;menu_pol3;...
a1;b1;c1;..
a2;b2;c2;..

Abych mohl provést uploud dat na int. obchodu na webu. (tam se dá stahovat a uploudovat soubor "jen v csv"). A ten csv musí mít jména sloupců...
tatyalien
Profil *
Tak jsem si to dořešil sám formou pokus omyl... excel totiž pokud je v buňce středník tak dá celou hdonotu do "uvozovek" pokud ale jsou tam i uvozovky, tak je to zdvojí, takže pokud by někdo řešil podobný problém, udělejte si kontrolu zda to obsahuje uvozovky, zvojit a dále pokud buňka obsahuje středník dát na začátek hodnoty a na konec uvozovku. pak to fachá.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: