Autor | Zpráva | ||
---|---|---|---|
hondziiikh Profil |
#1 · Zasláno: 26. 1. 2012, 18:53:44
Ahoj, připravuji do práce "systém", který mi z excelu převede tabulu do do krásného textu,nebo do html tabulky, jak chci. To je sice moc pěkné, ale já to z toho vzniklého textu potřebuji sázet do sql..
Z xls zkopiruji obsah a přes $text = str_replace("\t", ";", $text); $text = str_replace("\r", ";<br>", $text); 8.12.2011;R(10-18);;novotny 9.12.2011;R(10-18);;novotny 10.12.2011;;;novotny 11.12.2011;D(7-19);neděle - klid;novakova 12.12.2011;R(7-15);poznamka;novotny 13.12.2011;R(7-15);;novotny INSERT INTO smeny VALUES (NULL , '$date', '$smena', '$poznamka', '$pracovnik')
a tedy z uvedeneho prikladu: (NULL , '9.12.2011', 'R(10-18)', NULL, 'novotny') (NULL , '10.12.2011', 'R(10-18)', NULL, 'novotny') (NULL , '11.12.2011', '$smena', 'neděle - klid', 'novakova') (NULL , '12.12.2011', '$smena', 'poznamka', 'novotny') (NULL , '13.12.2011', 'R(10-18)', NULL, 'novotny') ..... |
||
Str4wberry Profil |
#2 · Zasláno: 26. 1. 2012, 19:01:15
Co takhle nevymýšlet kolo?
|
||
hondziiikh Profil |
#3 · Zasláno: 26. 1. 2012, 19:24:22
no, to bych použil moc rád, ale nelze. Ta xls tabulka má nahoře jména z leva datumy a položek je tam fakt hromada. Hlavně se používá pro opravdu spoooustu zaměstnanců, takže dat je tam požehnaně..
Já jsem jeden ze zaměstnanců a zaměstnavatel (opravdu velká nadnárodní spol) není schopná něco podobného udělat, a jako ve středověku to tisknem na nástěnku.. Tragédie.. Já potřebuji z té tabulky vycusnout jen nás, a dostrkat to do db a potřebuji, aby to dokázala nadřízená - né zrovna moc zdatná.. Teď prostě označí buňky a zkopíruje je do textarea a toto z toho vypadne. A s tímto musím pracovat :) |
||
Str4wberry Profil |
#4 · Zasláno: 26. 1. 2012, 19:36:05
Tak můžeš použít nějakou takovouto srandu:
foreach (explode("\n", $vstup) as $value) { echo str_replace("''", "NULL", "(NULL, '" . implode("', '", explode(";", trim($value))) . "')<br>"); } |
||
hondziiikh Profil |
#5 · Zasláno: 26. 1. 2012, 19:41:09 · Upravil/a: hondziiikh
Str4wberry:
uff.. tak to si vezmu chvili stranou a přelouskam.. :) tfuj.. funguje to.. Tos to sepsal takhle za par minut z hlavy na koleni? Co to je za čáry? :) Tak to vyzkouším ještě v praxi a uvidím.. Jinak zatím super a moc moc díky, s něčím takovým bych se patlal do rána, jestli by mě vůbec napadl směr, kudy se k tomuto výsledku dopracovat :) Ještě jednou díky moc :) No tak, jde to dobře :) jen ještě malou pomoc :) ten čas, resp datum jsem zapoměl, že budu převádět pomocí $date = "1.12.2011"; $date = strtotime($date); |
||
Keeehi Profil |
#6 · Zasláno: 26. 1. 2012, 20:18:33
foreach (explode("\n", $vstup) as $value) { echo str_replace("''", "NULL", "(NULL, '". strtotime($date)."','" . implode("', '", explode(";", trim($value))) . "')<br>"); } |
||
hondziiikh Profil |
#7 · Zasláno: 26. 1. 2012, 21:44:42
ee, nefunguje :( je tam jen dalsi polozka, a datum nebere z toho co tam je
|
||
Keeehi Profil |
#8 · Zasláno: 26. 1. 2012, 22:47:51
foreach (explode("\n", $vstup) as $value) { $pole = explode(";", trim($value)); $pole[0] = strtotime($pole[0]); echo str_replace("''", "NULL", "(NULL,'" . implode("', '",$pole) . "')<br>"); } |
||
hondziiikh Profil |
#9 · Zasláno: 26. 1. 2012, 23:02:52
Keeehi:
Jo, to je lepší :) Každopádně díky moc, teď už to půjde samo :) Moc díky |
||
Časová prodleva: 12 let
|
0