Guest User

Untitled

a guest
Jun 24th, 2018
238
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 2.14 KB | None | 0 0
  1. function synctable($table, $array){
  2.     global $config;
  3.     $result['insert'] = $result['update'] = $result['delete'] = 0;
  4.     $rows = array('vendors' => array('vendorid', 'name', 'vendororder', 'empty'),
  5.     'files' => array('fileid', 'vendorid', 'name', 'filename', 'dateof', 'restriction', 'fileorder', 'md5'),
  6.     'models' => array('modelid', 'fileid', 'name', 'modelorder', 'contenttype', 'contenttitle', 'contenttext'));
  7.     $q = mysql_query("SELECT * FROM `".escape($config['db_pref']).escape($table)."` ORDER BY ".escape($rows[$table][0])) or od(5);
  8.     while($row = mysql_fetch_array($q, MYSQL_ASSOC))
  9.         if(!is_array($array[$row[$rows[$table][0]]])){
  10.             $result['delete']++;
  11.             mysql_query("DELETE FROM `".escape($config['db_pref']).escape($table)."` WHERE ".escape($rows[$table][0])." = '".escape($row[$rows[$table][0]])."' LIMIT 1") or od(6);
  12.         }else
  13.             $db[$row[$rows[$table][0]]] = $row;
  14.     foreach($array as $unit)
  15.         if(is_array($db[$unit[$rows[$table][0]]])){
  16.             $result['update']++;
  17.             $qw = "UPDATE `".escape($config['db_pref']).escape($table)."` SET ";
  18.             $count = count($rows[$table]);
  19.             if($table = 'models')
  20.                 $count -= 2;
  21.             for($i = 1;$i < $count;$i++){
  22.                 $qw .= escape($rows[$table][$i])." = '".escape($unit[$rows[$table][$i]])."'";
  23.                 if($i != count($rows[$table]) - 1)
  24.                     $qw .= ", ";
  25.             }
  26.             $qw .= " WHERE ".escape($rows[$table][0])." = '".escape($unit[$rows[$table][0]])."' LIMIT 1";
  27.             mysql_query($qw) or od(7);
  28.         }else{
  29.             $qw = "INSERT INTO `".escape($config['db_pref']).escape($table)."` (";
  30.             for($i = 0;$i < count($rows[$table]);$i++){
  31.                 $qw .= escape($rows[$table][$i]);
  32.                 if($i != count($rows[$table]) - 1)
  33.                     $qw .= ", ";
  34.             }
  35.             $qw .= ") VALUES (";
  36.             for($i = 0;$i < count($rows[$table]);$i++){
  37.                 $qw .= "'".escape($unit[$rows[$table][$i]])."'";
  38.                 if($i != count($rows[$table]) - 1)
  39.                     $qw .= ", ";
  40.             }
  41.             $qw .= ")";
  42.             mysql_query($qw) or od(8);
  43.             $result['insert']++;
  44.         }
  45.     return '<p><em>Таблица "'.$table.'". Добавлено записей: '.$result['insert'].', обновлено записей: '.$result['update'].', удалено записей: '.$result['delete'].'</em></p>';
  46. }
Add Comment
Please, Sign In to add comment