Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> kopiowanie tabeli z pliku
feel
post 11.10.2003, 09:23:55
Post #1





Grupa: Zarejestrowani
Postów: 27
Pomógł: 0
Dołączył: 18.06.2003

Ostrzeżenie: (0%)
-----


Mam zainstalowany mysql na windowsie. Utworzyłem bazę danych "proba" i w niej tabelę "tab" za pomocą phpmyadmin. Teraz chciałbym skopiować dane do tej tabeli z pliku tekstowego. Dane w pliku mają następującą postać:

Jan|Kowalski|15
Adam|Bielksi|23
Anna|Biernacka|45

itp

Zabralem sie do tego w sposob nastepujacy: odpalilem plik C:mysqlbinmysql.exe i wpisałem kolejno:

u proba
copy tab from 'c:plik.txt' using delimiters '|'

ale to nic nie dalo sad.gif Czy zabieram sie do tego niewlasciwie?? Co robie zle? A moze ktos wie jak to sie dokladnie robi??
Go to the top of the page
+Quote Post
Mikoj
post 11.10.2003, 13:35:26
Post #2





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 24.04.2003
Skąd: Skawina

Ostrzeżenie: (0%)
-----


Ello,
mozesz napisac skrypt php który bedzie odczytywal linie po lini z pliku 'c:plik.txt' ' i dodwal do bazy danych...


--------------------
Będzie Lepiej..
Go to the top of the page
+Quote Post
spenalzo
post 11.10.2003, 14:06:58
Post #3





Grupa: Zarejestrowani
Postów: 2 064
Pomógł: 1
Dołączył: 22.01.2003
Skąd: Poznań

Ostrzeżenie: (0%)
-----


Zakładając, że struktura tabeli 'tab' jest taka:
Kod
ID | imie | nazwisko | numer

(gdzie ID to autoincrement) możesz zrobić tak:
[php:1:5a9fce44fc]<?php
// tutaj daj
// łączenie

$f=file("plik.txt");
for($i=0; $i<count($f); $i++)
{
$d=explode("|",$f[$i]);
mysql_query("INSERT INTO tab (imie, nazwisko, numer) VALUES ('".$d[0]."','".$d[1]."','".trim($d[2])."'");
}
if(mysql_error()=="")
{
echo "Dane zostały dodane.";
}
else
{
echo "Dane nie zostały dodane. Błąd: ".mysql_error();
}
?>[/php:1:5a9fce44fc]
Go to the top of the page
+Quote Post
adwol
post 11.10.2003, 16:37:09
Post #4





Grupa: Zarejestrowani
Postów: 691
Pomógł: 0
Dołączył: 6.08.2003

Ostrzeżenie: (0%)
-----


Cytat
ale to nic nie dalo sad.gif Czy zabieram sie do tego niewlasciwie?? Co robie zle? A moze ktos wie jak to sie dokladnie robi??

O ile wiem to nie ma w MySQLu komendy COPY. Spróbuj tak:
[sql:1:5b8f7f0ba0]LOAD DATA INFILE 'c:plik.txt' INTO TABLE tab FIELDS TERMINATED BY '|' LINES TERMINATED BY 'n';[/sql:1:5b8f7f0ba0]
Ew. gdyby nie działało zamień sobie n na rn bo nie wiem jak pod windowsem to zostanie zinterpretowane.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 7.07.2025 - 13:24