25. september 2004 - 17:11Der er
5 kommentarer og 1 løsning
Konvertering af data
Skal konvertere noget data til en mysql database fra en tekst fil
Eks.
AD,"Andorra" AE,"United Arab Emirates" AF,"Afghanistan" AG,"Antigua and Barbuda" AI,"Anguilla" AL,"Albania" AM,"Armenia" AN,"Netherlands Antilles" AO,"Angola" AP,"Asia/Pacific Region" AQ,"Antarctica"
Har 3 fælter i mysql ID Landekode Landenavn
Og skal ha de ting før , ind i Landekode, og det efter der står i mellem "" skal ind i Landenavn Nogen der har et forslag til hvordan jeg gør det nemmest, har en fil med over 200 af sådan nogle der og ville være lækkert hvis den bare læser filen som heder lande.txt
Efter ti år i London, Madrid, Paris og Utrecht kommer Sabios AI-fokuserede program af arrangementer om kundeoplevelser, ‘Disrupt’, for første gang til Danmark.
Slettet bruger
25. september 2004 - 18:10#1
<?php
// du skal selv åbne forbindelsen til databasen her
$tekst=file("lande.txt");
foreach($tekst as $linie){ list($kode,$navn)=explode(',', $linie,2); $navn=str_replace('"','',$navn); mysql_query("INSERT INTO tabelnavn (Landekode, Landenavn) VALUES ('$kode','$navn')") or die (mysql_error()); }
Nej, der var ikke kommet en syntaksfejl, hvis "-erne var blevet efterladt i strengen, for så ville den streng, MySQL så, se således ud:
INSERT INTO tabelnavn (Landekode, Landenavn) VALUES ('AD','"Andorra"')
og det kan MySQL godt forstå. (Og PHP ville heller ikke have brokket sig.)
Til gengæld var det en fin ide at smide trim() ind også.
<?php
// du skal selv åbne forbindelsen til databasen her
$tekst=file("lande.txt");
foreach($tekst as $linie){ list($kode,$navn)=explode(',', $linie,2); $navn=trim($navn); $navn=str_replace('"','',$navn); mysql_query("INSERT INTO tabelnavn (Landekode, Landenavn) VALUES ('$kode','$navn')") or die (mysql_error()); }
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.