Prikazi cijelu temu 12.08.2020 13:17
Avko Van mreze
Administrator
Registrovan od:28.05.2014
Lokacija:zagreb


Predmet:Re: import txt file u mysql bazu - rad sa datotekama
cijeli html,php kod je prikvacen a pogledat cemo samo dio koda koji radi uvoz:

u index.php imamo tipku

<a href="import.php" class="btn btn-success pull-right">UVEZI DATOTEKU</a>

pritiskom na tipku izvrsi se import.php kod u kojem se

izvrse neke radnje bitne za daljni rad koda i neke informativne radnje koje nam pokazu na ekranu neke vrijednosti:

PreuzmiIzvorni kôd (Text):
  1. // Ukljuci konfiguracijsku datoteku
  2. require_once "config.php";
  3.  
  4. // Definirajte varijable i inicijalizirajte ih s praznim vrijednostima
  5. $ime = $telefon = $adresa = $datum_rodenja = $koef_obrazovanja = $kategorija_r_mjesta = $osobni_dohodak = $od_dodaci = $sati_tjedno = "";
  6. $ime_err = $telefon_err = $adresa_err = $datum_rodenja_err = $koef_obrazovanja_err = $kategorija_r_mjesta_err = $osobni_dohodak_err = $od_dodaci_err = $sati_tjedno_err = "";
  7.  
  8. // Obrada podataka obrasca prilikom predaje obrasca
  9. if($_SERVER["REQUEST_METHOD"] == "POST"){
  10.        
  11.         if(isset($_FILES['file']))
  12.         {
  13.                 // detalji o prenesenoj datoteci
  14.                 $fileTmpPath = $_FILES['file']['tmp_name'];
  15.                 $fileName = $_FILES['file']['name'];
  16.                 $fileSize = $_FILES['file']['size'];
  17.                 $fileType = $_FILES['file']['type'];
  18.                
  19.                
  20.                 echo "fileTmpPath: ".$fileTmpPath."</br>";
  21.                 echo "fileName: ".$fileName."</br>";
  22.                 echo "sileSize: ".$fileSize."</br>";
  23.                 echo "fileType: ".$fileType."</br>";
  24.                
  25.         }


ako velicina ucitanog fajla nije nula

PreuzmiIzvorni kôd (Text):
  1. $filename=$_FILES["file"]["tmp_name"];
  2. echo $filename."</br>";
  3.                
  4. if($_FILES["file"]["size"] > 0)
  5. {
  6.   echo $filename."</br>";


ucitamo fajli i podatke ubacimo u bazu

PreuzmiIzvorni kôd (Text):
  1. $file = $_FILES["file"]["tmp_name"];
  2. $file_open = fopen($file,"r");
  3. while(($csv = fgetcsv($file_open, 1000, ",")) !== false)
  4. {
  5. $id="";
  6. if (isset($csv[0])){$id = mysqli_real_escape_string($con, $csv[0]);}
  7. $ime="";
  8. if (isset($csv[1])){$ime = mysqli_real_escape_string($con, $csv[1]);}
  9. $telefon="";
  10. if (isset($csv[2])){$telefon = mysqli_real_escape_string($con, $csv[2]);}
  11. $adresa="";
  12. if (isset($csv[3])){$adresa = mysqli_real_escape_string($con, $csv[3]);}
  13. $datum_rodenja="";
  14. if (isset($csv[4])){$datum_rodenja = mysqli_real_escape_string($con, $csv[4]);}
  15. $koef_obrazovanja="";
  16. if (isset($csv[5])){$koef_obrazovanja = mysqli_real_escape_string($con, $csv[5]);}
  17. $kategorija_r_mjesta="";
  18. if (isset($csv[6])){$kategorija_r_mjesta = mysqli_real_escape_string($con, $csv[6]);}
  19. $osobni_dohodak="";
  20. if (isset($csv[7])){$osobni_dohodak = mysqli_real_escape_string($con, $csv[7]);}
  21. $od_dodaci="";
  22. if (isset($csv[8])){$od_dodaci = mysqli_real_escape_string($con, $csv[8]);}
  23. $sati_tjedno="";
  24. if (isset($csv[9])){$sati_tjedno = mysqli_real_escape_string($con, $csv[9]);}
  25.                                
  26. $sql="INSERT INTO zaposlenici(id, ime, telefon, adresa, datum_rodenja, koef_obrazovanja,
  27.                                              kategorija_r_mjesta, osobni_dohodak, od_dodaci, sati_tjedno)
  28.         VALUES('".$id."', '".$ime."', '".$telefon."', '".$adresa."', '".$datum_rodenja."', '".$koef_obrazovanja."','
  29.                     ".$kategorija_r_mjesta."', '".$osobni_dohodak."', '".$od_dodaci."', '".$sati_tjedno."')
  30. ON DUPLICATE KEY UPDATE
  31. id='".$id."',
  32. ime='".$ime."',
  33. telefon='".$telefon."',
  34. adresa='".$adresa."',
  35. datum_rodenja='".$datum_rodenja."',
  36. koef_obrazovanja='".$koef_obrazovanja."',
  37. kategorija_r_mjesta='".$kategorija_r_mjesta."',
  38. osobni_dohodak='".$osobni_dohodak."',
  39. od_dodaci='".$od_dodaci."',
  40. sati_tjedno='".$sati_tjedno."'
  41. ";
  42.                                
  43. mysqli_query($con,$sql);
  44.                                
  45. echo $csv[0]." ".$csv[1]." ".$csv[2]." ".$csv[3]." ".$csv[4]." ".$csv[5]." ".$csv[6]." ".$csv[7]." ".$csv[8]."
  46.         ".$csv[9]."</br>";
  47. echo $id.", ".$ime.", ".$telefon.", ".$adresa.", ".$datum_rodenja.", ".$koef_obrazovanja.",
  48.         ".$kategorija_r_mjesta.", ".$osobni_dohodak.",".$od_dodaci.",".$sati_tjedno;
  49. if (!empty($sql)) { echo " - upit izvrsen"."</br>"; }
  50. }

Upotrijebili smo sql naredbu:

INSERT INTO t1 (a,b,c) VALUES (1,2,3) ON DUPLICATE KEY UPDATE c=c+1;

ona ce zamijeniti postojece podatke sa novima a brza je od REPLACE INTO t1 (a,b,c) VALUES (1,2,3);

koja ide od reda do reda i sve mijenja

Prilozi:
probaImport.rar
Preuzimanja:167
Velicina datoteke:12.41 KB


zivot je moja domovina.
Ovaj post je ureden 4 puta. Posljednja izmjena 12.08.2020 13:27 od strane Avko.