[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Обновление из CSV файла в базу данных MySQL
shonny
Здравствуйте. Вопрос такой, таблица в базе данных обновляется все хорошо, только как сделать так, чтобы обновлялись только те строки, которые были изменены? То есть, допустим если у меня изменились строки в поле MAC, то обновить все поля в таблице базы данных, где они были изменены.
$GLOBALS['link'] = mysqli_connect("localhost", "user", "passwd", "infoip");
$path = 'update';
$dir2 = opendir ("$path");
$i = 0;
while (false !== ($file2 = readdir($dir2))){
if($file2 != "." && $file2 != ".."){
if (strpos($file2, '.csv',1) ) {
$i++;
}
if ( substr($file2, 0, strpos($file2, '.csv',1) ) ) {
$res_strup = substr($file2, 0, strpos($file2, '.csv',1) );
$res_str2 = str_replace( "_" , "/" ,$res_strup);
$query2 = "SELECT net FROM `name_net`";
$resnet2 = mysqli_query( $GLOBALS['link'], $query2 );
if (($handle = fopen("update/".$file2, "r")) !== FALSE){
fgetcsv($handle, 1000, ",");
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE){
$num = count($data);
$row++;
$query_up = "UPDATE `".$res_str2."` SET Ping = '$data[1]', Hostname = '$data[2]', Ports = '$data[3]', Mac = '$data[4]', date = '".date('Y-m-d H:i')."' WHERE IP = '$data[0]'";
$resaddnet2 = mysqli_query($GLOBALS['link'], $query_up );
if ($resaddnet2) {
echo "Описание сети ".str_replace ( "_" , "/" , $res_strup )." успешно добавлено! </br>";
}
else {echo "Описание сети ".str_replace ( "_" , "/" , $res_strup )." не добавлено! </br>";}
}

fclose($handle);
}
}
}
}
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.