SearchEngines.bg

Това е примерно съобщение за гост. Регистрирайте безплатен акаунт днес, за да станете потребител на SearchEngines.bg! След като влезете, ще можете да участвате в този сайт, като добавите свои собствени теми и публикации, както и да се свържете с други членове чрез вашата лична входяща кутия! Благодарим ви!

CSV importer script?

ivor

New member
Искам да ъпдейтна някои стойности в MySQL БД като ползвам за сравнение една от стойностите в csv файла.
Намерих скрипт за импорт на данни от csv файл - работи ок, обаче трябва да ъпдейтва.. намерих друг, който обаче нещо не върши работа.

Някой може ли да удари едно рамо и да каже какво трябва да се добави, че да може да върши работа.
За пример имаме csv файл със стойности А и Б.
Иска се да сравни в съществуваща БД за съвпадение на стойност Б и да SET-не в същия запис определена клетка със стойността на А.

Това е за импортване на стойностите...
Код:
foreach(split($lineseparator,$csvcontent) as $line) {

	$lines++;

	$line = trim($line," \t");
	
	$line = str_replace("\r","",$line);
	
	/************************************
	This line escapes the special character. remove it if entries are already escaped in the csv file
	************************************/
	$line = str_replace("'","\'",$line);
	/*************************************/
	
	$linearray = explode($fieldseparator,$line);
	
	$linemysql = implode("','",$linearray);
	
	if($addauto)
		$query = "insert into $databasetable values('','$linemysql');";
	else
		$query = "insert into $databasetable values('$linemysql');";
	
	$queries .= $query . "\n";

	@mysql_query($query);
}
 
Re: CSV importer script?

Варинт 2:
съдържанието на CSV файла като го вкарам в таблица в БД-то.. с JOIN може ли да стане UPDATE?
 
Re: CSV importer script?

Може да си изкараш променливите от $linearray масива и да си направиш провеката и записа

Код:
	$linearray = explode($fieldseparator,$line);
	
        $стойност_за_проверка = $linearray[1];
        $стойност_за_запис = $linearray[0];

query за проверка на $стойност_за_проверка в БД

Ако е намерена $стойност_за_проверка в БД 
  {query за update}
А ако не е
{
	$linemysql = implode("','",$linearray);
	
	if($addauto)
		$query = "insert into $databasetable values('','$linemysql');";
	else
		$query = "insert into $databasetable values('$linemysql');";
	
	$queries .= $query . "\n";

	@mysql_query($query);
}

Така би трябвало да можеш хем да добавяш, хем да ъпдейтваш записи в базата , стига разбира се структурата на csv файла и на таблицата да съвпадат.
 
Re: CSV importer script?

Благодаря, ще го пробвам утре.
Иначе го направих с вкарване в нова таблица и ъпдейт с join после. :)
 

Горе