Autor | Zpráva | ||
---|---|---|---|
a Profil * |
#1 · Zasláno: 2. 5. 2006, 20:39:52
zdar prosím chci zorabzit na stránce data z učetnického programu a on to uklada ty data do nějakeho souboru *.csv nebo *.vcs nebo jak to je a nevíte jak nebo mě odporučte na něco co mi pomuže jak to vycucnout převezt nebo tak? diky
|
||
a Profil * |
#2 · Zasláno: 2. 5. 2006, 21:41:37
prej pomocí scriptu a je to csv :-D
je todle k něčemu dobré? Mysql-connector-java-3.1.10 is a JDBC connector for MYSQL database. MYSQL provides LOAD DATA INFILE utility to import data from files like csv, txt or xls into database tables. The example below imports data from .txt file into table. temp.txt file is a tab separated file: "1 string" 100 "2 string" 102 "3 string" 104 "4 string" 106 testtable structure CREATE TABLE testtable (id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, text varchar(45) NOT NULL, price integer not null); import java.sql.Connection; import java.sql.DriverManager; import java.sql.Statement; import java.sql.ResultSet; import java.sql.SQLException; public class automateImport { public static void main(String[] args) { DBase db = new DBase(); Connection conn = db.connect( "jdbc:mysql://localhost:3306/test","root","caspian"); db.importData(conn,args[0]); } } class DBase { public DBase() { } public Connection connect(String db_connect_str, String db_userid, String db_password) { Connection conn; try { Class.forName( "com.mysql.jdbc.Driver").newInstance(); conn = DriverManager.getConnection(db_connect_str, db_userid, db_password); } catch(Exception e) { e.printStackTrace(); conn = null; } return conn; } public void importData(Connection conn,String filename) { Statement stmt; String query; try { stmt = conn.createStatement( ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE); query = "LOAD DATA INFILE '"+filename+ "' INTO TABLE testtable (text,price);"; stmt.executeUpdate(query); } catch(Exception e) { e.printStackTrace(); stmt = null; } } }; If you want to import a CSV file, you can use the following query: query = "LOAD DATA INFILE '"+filename+"' INTO TABLE testtable FIELDS TERMINATED BY ',' (text,price)"; jsem to našel ale nevím jeslit by to stačil oani jak to fiči ani jak to zprovoznit ani co stim prakticky diky zarady :-) |
||
Leo Profil |
#3 · Zasláno: 2. 5. 2006, 22:14:48
No spis bych volil treba PHP, Leo
|
||
nightfish Profil |
#4 · Zasláno: 2. 5. 2006, 22:38:08
CSV je comma separated values
tedy hodnoty oddělené čárkou nejjednodušší bude načítat řádek po řádku pro každý řádek zavolat explode(",",$radek) a vzniklé pole následně vypsat jinak mysql-java-connector je věc k javě, pro výpis csv souboru na web java a mysql netřeba, i když využít se samozřejmě dají.... |
||
Leo Profil |
#5 · Zasláno: 2. 5. 2006, 22:49:57
|
||
a Profil * |
#6 · Zasláno: 3. 5. 2006, 16:18:49
potřeboval bych to hodit do mysql db nevíte kde se o tom dočtu co a jak stím? nebo nemáte nějaký funkční script?
diky |
||
havs Profil |
#7 · Zasláno: 3. 5. 2006, 21:03:14
jde to dotazem přes LOAD DATA, ale to bývá většinou na hostingu blokované
možná si napsat PHP cyklus do insertu, mě se to kdysi povedlo nějak takhle: $soubor = file_get_contents("import.csv"); $pole = explode("\r\n", $soubor); $pocet = count($pole); foreach($pole as $key => $radek) { if ($radek!="" && $key<($pocet-2)) { $insert .= "('', '".str_replace(";", "', '", $radek)."'), "; } elseif ($radek!="") { $insert .= "('', '".str_replace(";", "', '", $radek)."')"; } } mysql_query("INSERT INTO $tb values$insert"); |
||
a Profil * |
#8 · Zasláno: 4. 5. 2006, 19:08:27
prosímtě to se mi vloží do db a jaké budou názvy sloupců?
nebo v csv jsou taky nějaké názvy sloupců? co s emi tam dosadí nebo co a jak ? já totiž se v csv neorientuju vubec :-D jak by měla vypadat tabulka? diky |
||
havs Profil |
#9 · Zasláno: 4. 5. 2006, 19:23:10
Hm, to je jen insert a je důležité pořadí hodnot, muselo by se to zkombinovat s vytvořením tabulky, monitoringem počtu sloupců v csv příp. vymazáním starého obsahu, podle toho co je potřeba.
Jde o to, jestli se to vyplatí programovat, nebo jestli by nebyl lepší import přes phpMyAdmin. Tabulka se tvoří podobně, jako v okně SQL, např: MySQL_Query("Create table diskuse( id int not null primary key auto_increment, text varchar(255), autor varchar(255), email varchar(255), datum varchar(255))"); |
||
a Profil * |
#10 · Zasláno: 4. 5. 2006, 21:04:03
a jak se to dá importovat přimo přes phpmyadmina?
takže to je pouze vložení ten script a jak to pozná do kterého sloupce se vloží které informace? veme to popořadě myslím ten script kdybych už měl třeba přednastavenou tu tabulku? tak by to vkládalo každý sloupec vtom csv do sloupce v mysql db postupně? nebo jakto celé udělat_? jsem celkem amater :-D |
||
havs Profil |
#11 · Zasláno: 4. 5. 2006, 21:32:29 · Upravil/a: havs
ono to vytvoří takovéhle query, prostě to řádku z csv napíše začátek a konec a středníky zamění za ', '
na začátku je počítáno se sloupcem pro autom. číslování - ' ' bez hodnoty záleží jen na tom, aby tabulka měla odpovídající počet sloupců, tady jako csv + 1 mysql_query("INSERT INTO $tb values ('', 'nějaký text', 'ivo Uhlmann', 'bon@uhlm.de', 'něco'), ('', 'nějaký text', 'Ignác Prouk', 'Qui@skoc.ka', 'další'), a další řádky .... "); Import csv: v pma je import textovým odkazem až úplně dole při zobrazení tabulky (Vložit textové soubory do tabulky) |
||
a Profil * |
#12 · Zasláno: 5. 5. 2006, 15:11:13
to znamená že já si pouze vytvořím sloupce v tabulce přesně stejně jako jsou v csv + si dám na začátek sloupec ID (kde se mi bude to samo číslovat)
prosímtě a jak smažu v php informace z celé tabulky? já to budu vždy asi importovat do db a předtím to smažu diky moc otestuju to o víknedu a kdyby mi to nešlo obrátím se na tebe pokud budeš tak ochoten ale už to chapu tak by to mělo být ok : - ) |
||
Anonymní Profil * |
#13 · Zasláno: 6. 5. 2006, 16:01:38
co mám špatně? nic to nedělá : - /
<? if($_GET['ok'] == "ok"){ $tb = "csv_polozky"; // Tabulka $soubor = file_get_contents("import_csv/immax.csv"); $pole = explode("\r\n", $soubor); $pocet = count($pole); foreach($pole as $key => $radek) { if ($radek!="" && $key<($pocet-2)) { $insert .= "('', '".str_replace(";", "', '", $radek)."'), "; } elseif ($radek!="") { $insert .= "('', '".str_replace(";", "', '", $radek)."')"; } } $sql = "INSERT INTO ".$db->table_name($tb)." values $insert"; $db->query($sql); echo "Obsah byl přidán! \n"; }else{ echo "Po stisknutí se do databáze přidá obsah souboru csv. \n"; } ?> |
||
Anonymní Profil * |
#14 · Zasláno: 7. 5. 2006, 20:48:44
? :-/
|
||
Časová prodleva: 3 dny
|
|||
Anonymní Profil * |
#15 · Zasláno: 10. 5. 2006, 21:08:12
mi to nejde tam nahrát ani přez phpmyadmina : - / mi to hlásí chybu furt
#1045 - P-B��stup pro u�ivatele 'immax.ss.cz'@'%' (s heslem ANO) coto je? : - / mi se to csv asi do mysql db nepodaří dostat no : - / |
||
Časová prodleva: 18 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0