Am urmatorul script pt importul de csv.
Cod: Selectaţi tot
if($request->get($_POST["action"]) == "import"){
$file = $upload->file_upload("import", "media/import");
if(file_exists(DIR_UPLOAD_PHOTO . "/media/import/" . $file)){
$file = DIR_UPLOAD_PHOTO . "/media/import/" . $file;
$handle = fopen($file, "r");
if ($handle) {
$lines = explode("\r", fread($handle, filesize($file)));
}
$total_array = count($array);
$x = 0;
foreach($lines as $line){
if($x >= 1){
$data = explode("|", $line);
$titlu = trim(addslashes($data[0]));
$alias = $this->generate_seo_link($titlu);
$gramaj = trim($data[1]);
$greutate = trim($data[2]);
$pret_total = trim($data[3]);
$pret_redus = trim($data[4]);
$poza = trim($data[5]);
$pret_unitar = trim($data[6]);
$categorie = trim($data[7]);
$brand = trim(addslashes($data[8]));
$descriere = trim(addslashes($data[9]));
$vizibil = trim($data[10]);
$cod = trim($data[11]);
$nou = trim($data[12]);
$cant_variabila = trim($data[13]);
$congelat = trim($data[14]);
$tva = trim($data[15]);
$stoc = trim($data[16]);
if($cod != "" && $cod != " "){
$database->insert(sprintf("insert into produse set
titlu='%s',
alias='%s',
gramaj='%s',
greutate='%s',
prettotal='%s',
pretredus='%s',
poza='%s',
pretunitar='%s',
categorie='%d',
brand='%s',
descriere='%s',
vizibil='%d',
cod='%s',
nou='%d',
cant_variabila='%d',
congelat = '%d',
tva = '%s',
stoc = '%d'
on duplicate key update
titlu='%s',
alias='%s',
gramaj='%s',
greutate='%s',
prettotal='%s',
pretredus='%s',
poza='%s',
pretunitar='%s',
categorie='%d',
brand='%s',
descriere='%s',
vizibil='%d',
cod='%s',
nou='%d',
cant_variabila='%d',
congelat = '%d',
tva='%s',
stoc= '%d'",
$titlu, $alias,
$gramaj, $greutate, $pret_total, $pret_redus, $poza, $pret_unitar, $categorie,
$brand, $descriere, $vizibil, $cod, $nou, $cant_variabila, $congelat,
$tva, $stoc,
$titlu, $alias, $gramaj, $greutate,
$pret_total, $pret_redus, $poza, $pret_unitar, $categorie, $brand, $descriere,
$vizibil, $cod, $nou, $cant_variabila, $congelat, $tva, $stoc));
}
}
$x++;
}
}
}
Cum as putea proceda in asa fel incat sa nu am valori duplicate pentru alias ?
Tin sa precizez ca folosesc coloana alias pt seo si trebuie sa aibe valori diferite.
Cod: Selectaţi tot
function increment_string($str, $separator = '-', $first = 1){
preg_match('/(.+)'.$separator.'([0-9]+)$/', $str, $match);
return isset($match[2]) ? $match[1].$separator.($match[2] + 1) : $str.$separator.$first;
}