Форумы портала PHP.SU » » Работа с СУБД » Реализация запросов через циклы

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

1. shonny - 15 Ноября, 2016 - 20:25:12 - перейти к сообщению
Здравствуйте, проблема вот в чем. Сделал запросы для нескольких таблиц, в данном случае реализованы функции обновления для 3 таблиц 10.20.138.0/23, 10.20.139.0/24, 10.20.140.0/25, обновление происходит из файлов. Знаю, что так писать не нужно, поэтому хочу реализовать через циклы, только не знаю как.
PHP:
скопировать код в буфер обмена
  1.         $GLOBALS['link'] = mysqli_connect("localhost", "user", "pass", "infoip");
  2.             $filename = '10.20.139.0,24.csv';
  3. if (file_exists($filename)) {
  4.     echo "В последний раз файл $filename был изменен: " . date ("F d Y H:i:s.", filemtime($filename));
  5. }
  6.             $g= mysqli_query ($GLOBALS['link'],"SELECT * FROM `10.20.138.0/23`,`10.20.139.0/24`,`10.20.140.0/25` WHERE `10.20.138.0/23`.id = `10.20.139.0/24`.id = `10.20.140.0/25`.id ");
  7.                         $fd = fopen('10.20.139.0,24.csv', 'r+'); // чтение и запись
  8.                             while(!feof($fd)) {
  9.                                 $buffer = fgets($fd, 4096);
  10.                                 list($IP,$Ping,$Hostname,$Ports,$Mac)=explode(",",$buffer);
  11.                                  $sql_up = "UPDATE `10.20.139.0/24` SET Ping = '$Ping', Hostname = '$Hostname', Ports = '$Ports', Mac = '$Mac' WHERE IP = '$IP'";
  12.                                  mysqli_query($GLOBALS['link'],$sql_up) or die(mysqli_error());
  13.  
  14.                                 }
  15.          
  16.                          fclose($fd);
  17.                          
  18.                                      $filename2 = '10.20.138.0,23.csv';
  19. if (file_exists($filename2)) {
  20.     echo "В последний раз файл $filename2 был изменен: " . date ("F d Y H:i:s.", filemtime($filename2));
  21. }
  22.             $g2= mysqli_query ($GLOBALS['link'],"SELECT * FROM `10.20.138.0/23`,`10.20.139.0/24`,`10.20.140.0/25` WHERE `10.20.138.0/23`.id = `10.20.139.0/24`.id = `10.20.140.0/25`.id ");
  23.                         $fd2 = fopen('10.20.138.0,23.csv', 'r+'); // чтение и запись
  24.                             while(!feof($fd2)) {
  25.                                 $buffer2 = fgets($fd2, 4096);
  26.                                 list($IP,$Ping,$Hostname,$Ports,$Mac)=explode(",",$buffer2);
  27.                                  $sql_up2 = "UPDATE `10.20.138.0/23` SET Ping = '$Ping', Hostname = '$Hostname', Ports = '$Ports', Mac = '$Mac' WHERE IP = '$IP'";
  28.                                  mysqli_query($GLOBALS['link'],$sql_up2) or die(mysqli_error());
  29.                                  
  30.                                 }
  31.                          fclose($fd2);
  32.                          
  33.                                     $filename3 = '10.20.140.0,25.csv';
  34. if (file_exists($filename)) {
  35.     echo "В последний раз файл $filename был изменен: " . date ("F d Y H:i:s.", filemtime($filename));
  36. }
  37.             $g3= mysqli_query ($GLOBALS['link'],"SELECT * FROM `10.20.138.0/23`,`10.20.139.0/24`,`10.20.140.0/25` WHERE `10.20.138.0/23`.id = `10.20.139.0/24`.id = `10.20.140.0/25`.id ");
  38.                         $fd3 = fopen('10.20.138.0,23.csv', 'r+'); // чтение и запись
  39.                             while(!feof($fd3)) {
  40.                                 $buffer3 = fgets($fd3, 4096);
  41.                                 list($IP,$Ping,$Hostname,$Ports,$Mac)=explode(",",$buffer3);
  42.                                  $sql_up3 = "UPDATE `10.20.138.0/23` SET Ping = '$Ping', Hostname = '$Hostname', Ports = '$Ports', Mac = '$Mac' WHERE IP = '$IP'";
  43.                                  mysqli_query($GLOBALS['link'],$sql_up3) or die(mysqli_error());
  44.                                  
  45.                                 }
  46.                          fclose($fd3);

Читал про такую команду scandir, может через нее можно получить список файлов и реализовать через циклы?
PHP:
скопировать код в буфер обмена
  1. $dir = 'Z:\xampp\htdocs\PhpProject\update';
  2.             $files = array_diff( scandir( $dir), array('..', '.'));  
  3.                 for ($i = 0; $i < count($files); $i++){

 

Powered by ExBB FM 1.0 RC1