Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> PHP ładowanie pliku CSV do MYSQL
darko2000
post 1.04.2021, 21:20:13
Post #1





Grupa: Zarejestrowani
Postów: 1
Pomógł: 0
Dołączył: 28.03.2021

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


Witam
mam plik wyeksportowany z Excela atrakcje.csv to jest struktura:

nr_atr;nazwa;adres;miasto;strona;rodzaj
A0000001;Atrakcja 1;Adres 1;Miasto 1 ;http://www.adre1.pl;rodzaj 1
A0000002;Atrakcja 2;Adres 2;Miasto 2 ;http://www.adre2.pl;rodzaj 2
A0000003;Atrakcja 3;Adres 3;Miasto 3 ;http://www.adre3.pl;rodzaj 3

mam bazę o nazwie "ezwiedzanie" w niej tabelę "atrakcje" chciałbym za pomocą np formularza wybrać plik i załadować do istniejącej tabeli "atrakcje" najlepiej żeby podmieniało dane plik atrakcje.csv co miesiąc będzie większy, w internecie znalazłem coś takiego formularz jest w pliku index.php :

  1. [/php]
  2. <form enctype="multipart/form-data" method="post" action="import_csv.php">
  3. <table border="1">
  4. <tr >
  5. <td colspan="2" align="center"><strong>Import CSV file</strong></td>
  6. </tr>
  7. <tr>
  8. <td align="center">CSV File:</td><td><input type="file" name="file" id="file"></td></tr>
  9. <tr >
  10. <td colspan="2" align="center"><input type="submit" value="submit"></td>
  11. </tr>
  12. </table>
  13. </form>
  14. [php]


a program w import_csv.php

  1. [/php]
  2. <?php
  3. if(isset($_POST["submit"]))
  4. {
  5. $host="localhost"; // Host name.
  6. $db_user="root"; //mysql user
  7. $db_password=""; //mysql pass
  8. $db='ezwiedzanie'; // Database name.
  9. //$conn=mysql_connect($host,$db_user,$db_password) or die (mysql_error());
  10. //mysql_select_db($db) or die (mysql_error());
  11. $con=mysqli_connect($host,$db_user,$db_password,$db);
  12. // Check connection
  13. if (mysqli_connect_errno())
  14. {
  15. echo "Failed to connect to MySQL: " . mysqli_connect_error();
  16. }
  17.  
  18.  
  19. echo $filename=$_FILES["file"]["name"];
  20. $ext=substr($filename,strrpos($filename,"."),(strlen($filename)-strrpos($filename,".")));
  21.  
  22. //we check,file must be have csv extention
  23. if($ext=="csv")
  24. {
  25. $file = fopen($filename, "r");
  26. while (($emapData = fgetcsv($file, 10000, ",")) !== FALSE)
  27. {
  28. $sql = "INSERT into tableName(nr_atr,nazwa,adres,miasto,strona,rodzaj) values('$emapData[0]','$emapData[1]','$emapData[2]','$emapData[3]','$emapData[4]')";
  29. mysqli_query($con, $sql);
  30. }
  31. fclose($file);
  32. echo "CSV File has been successfully Imported.";
  33. }
  34. else {
  35. echo "Error: Please Upload only CSV File";
  36. }
  37.  
  38.  
  39. }
  40. ?>
  41. [php]


przerobiłem go na swoje potrzeby ale oczywiście nie działa nawet nie wyrzuca błędu, może coś źle przerobiłem (jestem początkujący) a może ktoś ma gotowy w 100% działający taki kod php? oczywiście ręcznie w phpmyadmin ładuje się plik bez problemu, będę wdzięczny za pomoc
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: 26.04.2024 - 13:52