Форумы портала PHP.SU » » Работа с СУБД » Обновление из CSV файла в базу данных MySQL

Страниц (1): [1]
 

1. shonny - 29 Ноября, 2016 - 12:56:54 - перейти к сообщению
Здравствуйте. Вопрос такой, таблица в базе данных обновляется все хорошо, только как сделать так, чтобы обновлялись только те строки, которые были изменены? То есть, допустим если у меня изменились строки в поле MAC, то обновить все поля в таблице базы данных, где они были изменены.
PHP:
скопировать код в буфер обмена
  1. $GLOBALS['link'] = mysqli_connect("localhost", "user", "passwd", "infoip");
  2.     $path = 'update';
  3.     $dir2 = opendir ("$path");
  4.     $i = 0;
  5.         while (false !== ($file2 =  readdir($dir2))){
  6.             if($file2 != "." && $file2 != ".."){
  7.                 if (strpos($file2, '.csv',1) ) {  
  8.                 $i++;
  9.                 }
  10.                 if ( substr($file2, 0, strpos($file2, '.csv',1) ) ) {
  11.                     $res_strup = substr($file2, 0, strpos($file2, '.csv',1) );        
  12.                    $res_str2 = str_replace( "_" , "/" ,$res_strup);
  13.                    $query2 = "SELECT net FROM `name_net`";
  14.                    $resnet2 = mysqli_query( $GLOBALS['link'], $query2 );
  15.                 if (($handle = fopen("update/".$file2, "r")) !== FALSE){
  16.                    fgetcsv($handle, 1000, ",");
  17.                         while (($data = fgetcsv($handle, 1000, ",")) !== FALSE){
  18.                         $num = count($data);  
  19.                         $row++;
  20.                     $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]'";
  21.                         $resaddnet2 = mysqli_query($GLOBALS['link'], $query_up );
  22.                                 if ($resaddnet2) {
  23.                                     echo "Описание сети ".str_replace ( "_" , "/" , $res_strup )." успешно добавлено! </br>";
  24.                                 }
  25.                                 else {echo "Описание сети ".str_replace ( "_" , "/" , $res_strup )." не добавлено! </br>";}
  26.                         }
  27.                         fclose($handle);
  28.                 }
  29.                 }
  30.             }
  31.         }

 

Powered by ExBB FM 1.0 RC1