Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> excel --> mysql, darmowy program
Arek00
post
Post #1





Grupa: Zarejestrowani
Postów: 177
Pomógł: 0
Dołączył: 8.11.2005

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


na forum znalazłem kilka opisów jak to zrobić poprzez php ale jestem początkujący i nie mogę sobie z tym poradzić. w sieci znalazłem gotowe programy które z excela importują do mysql ale wszystkie były płatne... czy ktoś zna taki darmowy program?

chodzi mi o coś w tym stylu ale darmowy:

http://www.sqlmanager.net/en/products/mysql/dataimport


ewentualnie czy mogę prosić o opis dla początkującego jak to zrobić za pomocą skryptu?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 7)
mhs
post
Post #2





Grupa: Zarejestrowani
Postów: 764
Pomógł: 3
Dołączył: 30.04.2003

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


Witam,

Podam Ci ogólny schemat jak to zrobić - przynajmniej jeden ze sposobów.

1) Mając dane w excelu możesz wyeksportować je do pliku csv. Rzecz prosta.
2) Plik csv to zwykły plik tekstowy rozdzielony średnikami. Musisz teraz z poziomu php odczytać dany plik (czyli kłania się Ci znajomość obsługi plików w php).
3) Jeżeli to będziesz potrafił następnie musisz:
a) jak już wcześniej napisałem odczytać zawartość pliku linia po linii
cool.gif dokonać rozdzielenia danego wiersza na kolumny (tutaj przychodzi Ci z pomocą średnik jako znak rozdzielający)
c) przygotować sobie zapytanie SQL czyli zwykły INSERT
cool.gif (mając wcześniej nawiązane połączenia z serwerem MySQL) wysłać zapytanie do bazy danych.

Taki jest ogólny przepis na rozwiązanie Twojego problemu. Dokładniejsze informacje znajdziesz w różnych częściach manuala php, kursach on-line. W razie problemów pisz, w miarę możliwości postaram się odpowiedzieć.

PS. Można to zrobić prościej - bez skryptu php. Możesz podobnie jak wcześniej wyeksportować plik do CSV, a następnie z klienta mysql przygotować odpowiednie zapytanie z wykorzystaniem LOAD DATA INFILE.
Go to the top of the page
+Quote Post
sobstel
post
Post #3





Grupa: Zarejestrowani
Postów: 853
Pomógł: 25
Dołączył: 27.08.2003
Skąd: Katowice

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


Cytat(mhs @ 2005-11-17 23:45:57)
a) jak już wcześniej napisałem odczytać zawartość pliku linia po linii

ja tylko dodam ze w tym punkcie mozna wykorzystac funkcje fgetcsv" title="Zobacz w manualu php" target="_manual


--------------------
"If debugging is the process of removing bugs, then programming must be the process of putting them in..."
sobstel.org
Go to the top of the page
+Quote Post
FiDO
post
Post #4





Grupa: Przyjaciele php.pl
Postów: 1 717
Pomógł: 0
Dołączył: 12.06.2002
Skąd: Wolsztyn..... Studia: Zielona Góra

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


A ja dodam, ze darmowy phpMyAdmin ma funkcje importu z plikow csv (ktore Excel moze wygenerowac).


--------------------
Brak czasu :/
Go to the top of the page
+Quote Post
Arek00
post
Post #5





Grupa: Zarejestrowani
Postów: 177
Pomógł: 0
Dołączył: 8.11.2005

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


udało mi się zrobić coś takiego:

  1. <?php
  2. $id_polaczenia = mysql_connect("localhost", "root", "asdf");
  3. mysql_select_db("drupal", $id_polaczenia);
  4.  
  5.  
  6. $uchwyt = fopen ("cennik4.csv","r");
  7. while (($data = fgetcsv($uchwyt, 1000, ";")) !== FALSE) {
  8.  
  9. $tablica ="INSERT INTO produkty VALUES ('";
  10. $tablica .= $data[0];
  11. $tablica .= "', '";
  12. $tablica .= $data[1];
  13. $tablica .= "', '";
  14. $tablica .= $data[2];
  15. $tablica .= "', '";
  16. $tablica .= $data[3];
  17. $tablica .= "')";
  18.  
  19. echo $tablica;
  20. echo "<br />n";
  21.  
  22. mysql_query ($tablica);
  23.  
  24. $tablica = "";
  25.  
  26. }
  27. fclose ($uchwyt);
  28. ?>


działa dopóki w którejś komórce excela nie pojawi się przecinek i gdy mam w excelu cudzysłów to wtedy w pliku csv jest cała zawartość komówrki w cudzysłowiu

wpadłem na to żeby przecinki zamienić na kropki a cudzysłowia usunąć zupełnie w excelu ale czy da się je jakoś załadować do bazy?

jak rozwiązać sprawę kodowania znaków bo widzę że jest coś nie tak


w jaki sposób można to zrobić za pomocą phpmyadmin? jak zapisać do której tabeli mają być dodawane wpisy?
Go to the top of the page
+Quote Post
strife
post
Post #6





Grupa: Przyjaciele php.pl
Postów: 2 605
Pomógł: 96
Dołączył: 22.10.2004
Skąd: UK

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


Ten program umożliwia Import z Exel'a

polecam.


--------------------
Go to the top of the page
+Quote Post
Arek00
post
Post #7





Grupa: Zarejestrowani
Postów: 177
Pomógł: 0
Dołączył: 8.11.2005

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


program jest fajny ale nie darmowy....
Go to the top of the page
+Quote Post
ennics
post
Post #8





Grupa: Zarejestrowani
Postów: 312
Pomógł: 0
Dołączył: 29.12.2004

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


tak jak mówił @mhs, do CSV a potem importuj, ale nie baw siętym
w php, szkoda czasu i pamięci operacyjnej,
zobacz mysqlimport.


--------------------
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 Aktualny czas: 19.08.2025 - 08:56