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):// Ukljuci konfiguracijsku datoteku
require_once "config.php";
// Definirajte varijable i inicijalizirajte ih s praznim vrijednostima
$ime = $telefon = $adresa = $datum_rodenja = $koef_obrazovanja = $kategorija_r_mjesta = $osobni_dohodak = $od_dodaci = $sati_tjedno = "";
$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 = "";
// Obrada podataka obrasca prilikom predaje obrasca
if($_SERVER["REQUEST_METHOD"] == "POST"){
if(isset($_FILES['file']))
{
// detalji o prenesenoj datoteci
$fileTmpPath = $_FILES['file']['tmp_name'];
$fileName = $_FILES['file']['name'];
$fileSize = $_FILES['file']['size'];
$fileType = $_FILES['file']['type'];
echo "fileTmpPath: ".$fileTmpPath."</br>";
echo "fileName: ".$fileName."</br>";
echo "sileSize: ".$fileSize."</br>";
echo "fileType: ".$fileType."</br>";
}
ako velicina ucitanog fajla nije nula
PreuzmiIzvorni kôd (Text):$filename=$_FILES["file"]["tmp_name"];
echo $filename."</br>";
if($_FILES["file"]["size"] > 0)
{
echo $filename."</br>";
ucitamo fajli i podatke ubacimo u bazu
PreuzmiIzvorni kôd (Text):$file = $_FILES["file"]["tmp_name"];
$file_open = fopen($file,"r");
while(($csv = fgetcsv($file_open, 1000, ",")) !== false)
{
$id="";
if (isset($csv[0])){$id = mysqli_real_escape_string($con, $csv[0]);}
$ime="";
if (isset($csv[1])){$ime = mysqli_real_escape_string($con, $csv[1]);}
$telefon="";
if (isset($csv[2])){$telefon = mysqli_real_escape_string($con, $csv[2]);}
$adresa="";
if (isset($csv[3])){$adresa = mysqli_real_escape_string($con, $csv[3]);}
$datum_rodenja="";
if (isset($csv[4])){$datum_rodenja = mysqli_real_escape_string($con, $csv[4]);}
$koef_obrazovanja="";
if (isset($csv[5])){$koef_obrazovanja = mysqli_real_escape_string($con, $csv[5]);}
$kategorija_r_mjesta="";
if (isset($csv[6])){$kategorija_r_mjesta = mysqli_real_escape_string($con, $csv[6]);}
$osobni_dohodak="";
if (isset($csv[7])){$osobni_dohodak = mysqli_real_escape_string($con, $csv[7]);}
$od_dodaci="";
if (isset($csv[8])){$od_dodaci = mysqli_real_escape_string($con, $csv[8]);}
$sati_tjedno="";
if (isset($csv[9])){$sati_tjedno = mysqli_real_escape_string($con, $csv[9]);}
$sql="INSERT INTO zaposlenici(id, ime, telefon, adresa, datum_rodenja, koef_obrazovanja,
kategorija_r_mjesta, osobni_dohodak, od_dodaci, sati_tjedno)
VALUES('".$id."', '".$ime."', '".$telefon."', '".$adresa."', '".$datum_rodenja."', '".$koef_obrazovanja."','
".$kategorija_r_mjesta."', '".$osobni_dohodak."', '".$od_dodaci."', '".$sati_tjedno."')
ON DUPLICATE KEY UPDATE
id='".$id."',
ime='".$ime."',
telefon='".$telefon."',
adresa='".$adresa."',
datum_rodenja='".$datum_rodenja."',
koef_obrazovanja='".$koef_obrazovanja."',
kategorija_r_mjesta='".$kategorija_r_mjesta."',
osobni_dohodak='".$osobni_dohodak."',
od_dodaci='".$od_dodaci."',
sati_tjedno='".$sati_tjedno."'
";
mysqli_query($con,$sql);
echo $csv[0]." ".$csv[1]." ".$csv[2]." ".$csv[3]." ".$csv[4]." ".$csv[5]." ".$csv[6]." ".$csv[7]." ".$csv[8]."
".$csv[9]."</br>";
echo $id.", ".$ime.", ".$telefon.", ".$adresa.", ".$datum_rodenja.", ".$koef_obrazovanja.",
".$kategorija_r_mjesta.", ".$osobni_dohodak.",".$od_dodaci.",".$sati_tjedno;
if (!empty($sql)) { echo " - upit izvrsen"."</br>"; }
}
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 12:27 od strane Avko.