powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / PHP и КЛАДР
25 сообщений из 40, страница 1 из 2
PHP и КЛАДР
    #37005919
Scorp1978
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здраствуйте всем. Стоит задача организовать грамотный выбор адреса из справочника КЛАДРа на html страницы с помощью PHP, начиная от импортирования файла из dbf кладровского в mysql до динамически обновляемых списков (в зависимости от выбранных областей, городов и т.д.). Думаю законченное решение данной задачи будет полезным не только для меня одного. По просторам интернета решений не нашел (может плохо искал). Прошу помощи.
Вот начну:
выкладываю структу таблиц КЛАДРа
Таблица 3.1

Структура записи файла Kladr.dbf

NAME 40
SOCR 10
CODE 13
INDEX 6
GNINMB 4
UNO 4
OCATD 11
STATUS 1
Структура записи файла Street.dbf
NAME 40
SOCR 10
CODE 17
INDEX 6
GNINMB 4
UNO 4
OCATD 11
Структура записи файла Doma.dbf
NAME 40
KORP 10
SOCR 10
CODE 19
INDEX 6
GNINMB 4
UNO 4
OCATD 11

http://www.r67.nalog.ru/document_print.php?id=89723&topic=arhiv05_67
...
Рейтинг: 0 / 0
PHP и КЛАДР
    #37009041
Scorp1978
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну помогите кто нибудь!!!!
...
Рейтинг: 0 / 0
PHP и КЛАДР
    #37009135
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Scorp1978Ну помогите кто нибудь!!!!
А что у Вас не получается?
...
Рейтинг: 0 / 0
PHP и КЛАДР
    #37009695
Scorp1978
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На странице находится 4 зависимых выпадающих списка (Область, Город, Населенный пункт, Улица), кроме того на этой же странице находятся несколько независимы выпадающих списков и несколько текстовых полей, получается если я выберу пункт в одном зависимом списке, страница обновится и значения в других заполненых полях сбросится на "по умолчанию" как этого избежать. Может быть значение записывать в таблицу с каким нибудь ID, а после обновления списка и страницы вытаскивать эти значения назад (искать их по ID).
...
Рейтинг: 0 / 0
PHP и КЛАДР
    #37009789
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Scorp1978,

Забудьте про выпадающие списки. Вы сами юзали такой функционал, когда, даже в отфильтрованном по городу (например Москва или СПб) списке выбрать улицу комбобоксом?
У меня сделано в виде таблиц с фильтрацией, сортировкой и пейжингом в псевдоокошке.
Забесплатно хотите? Мне за это деньги платят, вообще-то. Профессия такая.
ПС. Если хотите, прямо здесь в этом топике сделаем хорошую штуку. Только вот очень сомневаюсь в том, что Вы можете чем-то помочь.
Ну ладно, попробуйте сделать таблицы в MySQL, аналогичные таблицам в дбф. Чтобы при успешной загрузке файла (zip или rar - архивированных дбф-файлов), чтобы таблицы таки обновились.
Насчёт интерфейса - помогу. Не вопрос.
...
Рейтинг: 0 / 0
PHP и КЛАДР
    #37010482
Scorp1978
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ShSerge, ок уже делаю
...
Рейтинг: 0 / 0
PHP и КЛАДР
    #37012707
Scorp1978
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
131.
132.
133.
134.
135.
136.
137.
138.
139.
140.
141.
142.
143.
144.
145.
146.
147.
148.
149.
150.
151.
152.
153.
154.
155.
156.
157.
158.
159.
160.
161.
162.
163.
164.
165.
166.
167.
168.
169.
170.
171.
172.
173.
174.
175.
176.
177.
178.
179.
180.
181.
182.
183.
184.
<!DOCTYPE html  PUBLIC  "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Код создания и обновления таблиц КЛАДРА</title>
</head>

<body>

<?php

//-- класс таблица
 class  CTable
{
 var  $m_host;      //хост
 var  $m_login;     //логин
 var  $m_pass;      //пароль
 var  $m_dbname;    //имя БД
 var  $m_name;      //имя таблицы
 var  $m_import;    //файл *.dbf для импортирования

	//-- конструктор класса
	 function  CTable ($host, $login, $pass, $db, $table, $import) 
		{
			$this->m_host=$host;
			$this->m_login=$login;
			$this->m_pass=$pass;
			$this->m_dbname=$db;
			$this->m_name=$table;
			$this->m_import=$import;
		}
	//-- конец конструктора класса

	//-- соединение с БД
	 function  Connection () 
		{
			$link =  mysql_connect ($this->m_host, $this->m_login, $this->m_pass) or  die ("Ошибка соединения");
			 mysql_select_db ($this->m_dbname) or  die (" Не найдена таблица ");
		}
	//-- конец соединения с БД

	//--удаление старой таблице для замещения новой
	 function  DeleteOld()
		{ 
			$result =  mysql_list_tables ($this->m_dbname);
			 for  ($i =  0 ; $i <  mysql_num_rows ($result); $i++)
				{
					 if  ($this->m_name== mysql_tablename ($result, $i))
						{
							$query = "DROP TABLE ". $this->m_name;
							$drop= mysql_query ($query) or  die  ("Ошибка удаления старой таблицы");
							//print "Успешно удалена старая таблица ";
						};
				};
		}
		//--конец удаления старой таблице для замещения новой 

		//-- создание новой таблицы в БД
		 function  NewTable_Street()
			{
				$query="CREATE TABLE `Street` (
						`name` VARCHAR( 40 ),
						`socr` VARCHAR( 10 ),
						`code` VARCHAR( 17 ),
						`index` VARCHAR( 6 ),
						`gninmb` VARCHAR( 4 ),
						`uno` VARCHAR( 4 ),
						`ocatd` VARCHAR( 11 ))";
				$result =  mysql_query ($query) or  die  (" Не возможно создать новую таблицу ");
				//print " Новая таблица создана ";
			}
			//-- конец создания новой таблице в БД
		 function  Replace_Street()
			{
				 if  ( file_exists ($this->m_import))
					{ 
						$open_db= dbase_open ($this->m_import,  0 ); // открываем файл из которого будем производить импорт данных
						$records= dbase_numrecords ($open_db);     // Eiee?anoai no?ie a oaaeeoa
			             for  ($i= 1 ; $i<= $records; $i++)          // Oeee
							{ 
								$row=  dbase_get_record ($open_db, $i); // iieo?aao no?ieo
								$name=$row[ 0 ]; 		// Наименование 
								$socr=$row[ 1 ]; 		// Сокращенное наименование типа объекта
								$code=$row[ 2 ]; 		// Код
								$index=$row[ 3 ]; 	// Почтовый индекс
								$gninmb=$row[ 4 ]; 	// Код ИФНС
								$uno=$row[ 5 ]; 		// Код территориального участка ИФНС
								$ocatd=$row[ 6 ]; 	// Код ОКАТО
								//вставка в MySQL
								$query="INSERT INTO ".$this->m_name."( `name`, `socr`, `code`, `index`, `gninmb`, `uno`, `ocatd`) 
					    	    VALUES ('".$name."', '".$socr."', '".$code."', '".$index."', '".$gninmb."', '".$uno."', '".$ocatd."')";
								$result =  mysql_query ($query) or  die ("не удалось импортировать информацию");
							};
					}
					 else 
						{
							 print  "Не найден импортируемый файл";
						};
			}			
		//-- создание новой таблицы в БД
		 function  NewTable_Kladr()
			{
				$query="CREATE TABLE `Kladr` (
						`name` VARCHAR( 40 ),
						`socr` VARCHAR( 10 ),
						`code` VARCHAR( 13 ),
						`index` VARCHAR( 6 ),
						`gninmb` VARCHAR( 4 ),
						`uno` VARCHAR( 4 ),
						`ocatd` VARCHAR( 11 ),
						`status` VARCHAR( 1 ))";
				$result =  mysql_query ($query) or  die  (" Не возможно создать новую таблицу ");
				//print " Новая таблица создана ";
			}
			//-- конец создания новой таблице в БД

            //-- добавление данных в таблицу
		 function  Replace_Kladr ()
			{
				 if  ( file_exists ($this->m_import))
					{ 
						$open_db= dbase_open ($this->m_import,  0 ); // открываем файл из которого будем производить импорт данных
						$records= dbase_numrecords ($open_db);     // Eiee?anoai no?ie a oaaeeoa
			             for  ($i= 1 ; $i<= $records; $i++)          // Oeee
							{ 
								$row=  dbase_get_record ($open_db, $i); // iieo?aao no?ieo
								$name=$row[ 0 ]; 		// Наименование 
								$socr=$row[ 1 ]; 		// Сокращенное наименование типа объекта
								$code=$row[ 2 ]; 		// Код
								$index=$row[ 3 ]; 	// Почтовый индекс
								$gninmb=$row[ 4 ]; 	// Код ИФНС
								$uno=$row[ 5 ]; 		// Код территориального участка ИФНС
								$ocatd=$row[ 6 ]; 	// Код ОКАТО
								$status=$row[ 7 ]; 	// Статус объекта
								//вставка в MySQL
								$query="INSERT INTO ".$this->m_name."( `name`, `socr`, `code`, `index`, `gninmb`, `uno`, `ocatd`, `status`) 
					    	    VALUES ('".$name."', '".$socr."', '".$code."', '".$index."', '".$gninmb."', '".$uno."', '".$ocatd."', '".$status."')";
								$result =  mysql_query ($query) or  die ("не удалось импортировать информацию");
							};
					}
					 else 
						{
							 print  "Не найден импортируемый файл";
						};
			}

		 function  Close ()
			{
				 mysql_close ();
				 if  ( file_exists ($this->m_import))
					{
						 dbase_close ();
					}
			} 	

//-- Удаление импортируемого файла*.dbf
 function  DeleteImport()
{
 if  ( file_exists ($this->m_import))
{
 unlink ($this->m_import);
}; 
}
//--конец удаления импортируемого файла*.dbf

}
//--код 
$tb= new  CTable('localhost', 'site', '123', 'site', 'kladr', 'C:\WebServers\home\nalog\www\kladr\kladr.dbf');
$tb->Connection();
$tb->DeleteOld();
$tb->NewTable_Kladr();
$tb->Replace_Kladr()
$tb->Close();

$tb= new  CTable('localhost', 'site', '123', 'site', 'kladr', 'C:\WebServers\home\nalog\www\kladr\street.dbf');
$tb->Connection();
$tb->DeleteOld();
$tb->NewTable_Street();
$tb->Replace_Street()
$tb->Close();


?>
</body>
</html>

Модератор: километровая портянка кода убрана под спойлер.
...
Рейтинг: 0 / 0
PHP и КЛАДР
    #37012740
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Scorp1978,

Нет, не так. На сервере уже есть таблицы. Их не надо заново криэйтить. Забудем про внешние ключи. Пускай будут не связанные таблицы. Вам надо обновить или добавить. Самое простое - удалить всё и проинсертить в одной транзакции. Вы можете передавать с помощью инпут-филе файлы по отдельности, что плохо, лучше зип-архив оптом. В успешном случае будет страничка success, в противном - error.
ПС. Хотите же сделать хорошо, не правда ли?
...
Рейтинг: 0 / 0
PHP и КЛАДР
    #37014922
Scorp1978
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вообщем делаю следующие скрипты:
- Создание таблиц КЛАДРА в mySql
- Копирование dbf файлов КЛАДРА
- Обновление таблиц mySql КЛАДРА
...
Рейтинг: 0 / 0
PHP и КЛАДР
    #37015158
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Scorp1978Вообщем делаю следующие скрипты:
- Создание таблиц КЛАДРА в mySql
- Копирование dbf файлов КЛАДРА
- Обновление таблиц mySql КЛАДРА
Таблицы уже созданы. Ничего криэйтить не надо. Вы их уже создали с помощью пхп-миадмин, или дбфоржестудии или ещё чего. А вот копирование (инпут-филе), разархивирование и инсерт таблиц (лучше с учётом внешних ключей, хотя может и не надо) желательно делать в одном скрипте, чтобы в одном месте было. Там мало букаф. И не забыть про редирект, то есть header("Location:... .
...
Рейтинг: 0 / 0
PHP и КЛАДР
    #37023944
Scorp1978
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что то на копировании застрял

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
131.
132.
133.
134.
135.
136.
137.
138.
139.
140.
141.
142.
143.
144.
145.
146.
147.
148.
149.
150.
151.
152.
153.
154.
155.
<?php
if(isset($_POST['struct']) or isset($_POST['delstruct']))
	{
		// Проверка на заполнение полей
		$prov_login =  0 ;
		$string_namehost = ($_POST['namehost']);$string_len = strlen($string_namehost);
		if($string_len ==  0 ){echo ('Введите наименование хоста ... ');}else{$prov_login+= 1 ;}
		$string_nameBD = ($_POST['nameBD']);$string_len = strlen($string_nameBD);
		if($string_len ==  0 ){echo ('Введите наименование БД ... ');}else{$prov_login = $prov_login+ 1 ;}
		$string_user = ($_POST['user']);$string_len = strlen($string_user);
		if($string_len ==  0 ){echo ('Введите имя пользователя БД ... ');}else{$prov_login = $prov_login+ 1 ;}		
   		$string_password = ($_POST['password']);$string_len = strlen($string_password);
		if($string_len ==  0 ){echo ('Введите пароль для входа в БД ... ');}else{$prov_login = $prov_login+ 1 ;}
		
		// Соединение с БД
		mysql_connect($string_namehost, $string_nameBD, $string_password);mysql_select_db($string_nameBD);

		// Создание таблиц		
		if ($prov_login ==  4  and isset($_POST['struct']))
		{	if(mysql_table_seek('Kladr', $string_nameBD)){}else{mysql_createtable_kladr();}
			if(mysql_table_seek('Street', $string_nameBD)){}else{mysql_createtable_street();}
			if(mysql_table_seek('Doma', $string_nameBD)){}else{mysql_createtable_doma();}
			if(mysql_table_seek('Flat', $string_nameBD)){}else{mysql_createtable_flat();}
 			if(mysql_table_seek('Socrbase', $string_nameBD)){}else{mysql_createtable_socrbase();}
 			if(mysql_table_seek('Altnames', $string_nameBD)){}else{mysql_createtable_altnames();}}
		
		// Удаление таблиц
  		if ($prov_login ==  4  and isset($_POST['delstruct']) and mysql_table_seek('Kladr', $string_nameBD)){mysql_deletetable('Kladr');}
		if ($prov_login ==  4  and isset($_POST['delstruct']) and mysql_table_seek('Street', $string_nameBD)){mysql_deletetable('Street');}
		if ($prov_login ==  4  and isset($_POST['delstruct']) and mysql_table_seek('Doma', $string_nameBD)){mysql_deletetable('Doma');}
		if ($prov_login ==  4  and isset($_POST['delstruct']) and mysql_table_seek('Flat', $string_nameBD)){mysql_deletetable('Flat');}
		if ($prov_login ==  4  and isset($_POST['delstruct']) and mysql_table_seek('Socrbase', $string_nameBD)){mysql_deletetable('Socrbase');}
		if ($prov_login ==  4  and isset($_POST['delstruct']) and mysql_table_seek('Altnames', $string_nameBD)){mysql_deletetable('Altnames');}
				
	}
  			 
if(isset($_POST['copykladr']))
	{
if (copy('Z:/home/site/www/file.txt', 'Z:/home/site/www/file2.txt'))
{ echo "Копирование успешно выполнено"; }
else
{ echo "Ошибка при копировании"; }
}




function mysql_deletetable($dTable)	

{	$query="DROP TABLE ".$dTable;
	$result = mysql_query($query) or die (" Не возможно удалить таблицу ".$dTable);
}


function mysql_createtable_kladr()			 
{	$query="CREATE TABLE Kladr (  `name` VARCHAR( 40 ),
								  `socr` VARCHAR( 10 ),
								  `code` VARCHAR( 13 ),
								  `index` VARCHAR( 6 ),
								  `gninmb` VARCHAR( 4 ),
								  `uno` VARCHAR( 4 ), 
								  `ocatd` VARCHAR( 11 ),
								  `status` VARCHAR( 1 ))" ;
	$result = mysql_query($query) or die (" Не возможно создать новую таблицу KLADR");
}

function mysql_createtable_street()			 
{	$query="CREATE TABLE Street  (`name` VARCHAR( 40 ),
								  `socr` VARCHAR( 10 ),
								  `code` VARCHAR( 17 ),
								  `index` VARCHAR( 6 ),
								  `gninmb` VARCHAR( 4 ),
								  `uno` VARCHAR( 4 ), 
								  `ocatd` VARCHAR( 11 ))" ;
	$result = mysql_query($query) or die (" Не возможно создать новую таблицу Street");
}

function mysql_createtable_Doma()			 
{	$query="CREATE TABLE Doma    (`name` VARCHAR( 40 ),
								  `korp` VARCHAR( 10 ),		 
								  `socr` VARCHAR( 10 ),
								  `code` VARCHAR( 19 ),
								  `index` VARCHAR( 6 ),
								  `gninmb` VARCHAR( 4 ),
								  `uno` VARCHAR( 4 ), 
								  `ocatd` VARCHAR( 11 ))";
	$result = mysql_query($query) or die (" Не возможно создать новую таблицу Doma");
}

function mysql_createtable_Flat()			 
{	$query="CREATE TABLE Flat    (`name` VARCHAR( 40 ),
								  `code` VARCHAR( 23 ),
								  `index` VARCHAR( 6 ),
								  `gninmb` VARCHAR( 4 ),
								  `uno` VARCHAR( 4 ),
								  `np` VARCHAR( 4 ))";
	$result = mysql_query($query) or die (" Не возможно создать новую таблицу Flat");
}

function mysql_createtable_Socrbase()			 
{	$query="CREATE TABLE Socrbase(`level` VARCHAR( 5 ),
								  `scname` VARCHAR( 10 ),
								  `socrname` VARCHAR( 29 ),
								  `kod_t_st` VARCHAR( 3 ))";
	$result = mysql_query($query) or die (" Не возможно создать новую таблицу Socrbase");
}

function mysql_createtable_AltNames()			 
{	$query="CREATE TABLE Altnames(`oldcode` VARCHAR( 19 ),
								  `newcode` VARCHAR( 19 ),
								  `level` VARCHAR( 1 ))";
	$result = mysql_query($query) or die (" Не возможно создать новую таблицу AltNames");
}

function mysql_table_seek($tablename, $dbname)
{   $table_list = mysql_query("SHOW TABLES FROM `".$dbname."`");
    while ($row = mysql_fetch_row($table_list)) {if ($tablename==$row[ 0 ]) {return true;}}
    return false;
} 
?>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ru-ru" lang="ru-ru" dir="ltr" >
 <meta http-equiv="content-type" content="text/html; charset=utf-8" />
<head>
  <title>Загрузка файлов на сервер</title>
</head>
<body>
      <h2><p><b> Администрирование баз КЛАДРа </b></p></h2>
      <form action="index.php" method="post" enctype="multipart/form-data">
      <p><b> Создать структуру баз КЛАДРа на MySql </b></p>
      <p>Введите имя хоста:        
        <input value='localhost' type=text name = namehost>
          Введите имя БД:
        <input  value='site' input type=text name = nameBD>
          Имя пользователя:
        <input value='site' input type=text name = user>
          Пароль:
        <input value='123' input type=text name = password>
      </p>
      <p>
        <input type="submit" name = struct value="Создание структуры КЛАДРа">
        <input type="submit" name = delstruct value="Удалить структуру КЛАДРа"><br>
      </p>
</form>
      <form action="index.php" method="post" enctype="multipart/form-data">
      <p><b> Копирование файлов КЛАДРа в формате *.zip или *.rar на сервер </b></p>
      <input value = "Укажите архив для копирования" type="file" name = "fnKladr" size="50"><br> 
      <br> 
      <input type="submit" name = copykladr value="Загрузить"><br>
</form>
      <form action="index.php" method="post" enctype="multipart/form-data">
      <p><b> Заполнение(обновление) баз КЛАДРа на сервере </b></p>
      <input type="submit" name = zaplkladr value="Выполнить"><br>
      </form>
</body>
</html>
...
Рейтинг: 0 / 0
PHP и КЛАДР
    #37023945
Scorp1978
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как сделать что код под спойлер убирался?
...
Рейтинг: 0 / 0
PHP и КЛАДР
    #37023970
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Справа, в форматировании в списке "дополнит." выбрать "spoiler" для выделенного текста. Или ручками теги написать.
...
Рейтинг: 0 / 0
PHP и КЛАДР
    #37023999
Scorp1978
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот такой код копирования работает, но почему переменная $fnKladr пустая, поэтому когда подставляю ее вместо 'C:/zapros.rar', выводит ошибку?


if(isset($_POST['copykladr']))
{
echo($fnKladr);

if (copy( ('C:/zapros.rar') , '../www/File/kladr.rar'))
{
echo "Копирование успешно выполнено"; }
else
{echo "Ошибка при копировании";}
}
...
Рейтинг: 0 / 0
PHP и КЛАДР
    #37024019
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Более того, я бы удивился, если бы она был не пустая.
...
Рейтинг: 0 / 0
PHP и КЛАДР
    #37024029
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Либо вы скрыли от нас код, в котором она объявляется, либо она у вас просто не объявляется.
...
Рейтинг: 0 / 0
PHP и КЛАДР
    #37024078
Scorp1978
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
if(isset($_POST['copykladr']))
{
if(isset($_POST['fnKladr'])){
$string_namefile = ($_POST['fnKladr']);
echo('test');
echo($string_namefile);
}
if (copy( ('C:/zapros.rar') , '../www/File/kladr.rar'))
{echo "Копирование успешно выполнено"; }
else
{echo "Ошибка при копировании";}
}

<form action="index.php" method="post" enctype="multipart/form-data">
...
<p><b> Копирование файлов КЛАДРа в формате *.zip или *.rar на сервер </b></p>
<input type = "file" name = fnKladr value = "Укажите архив для копирования" size="50"><br>
<br>
<input type="submit" name = copykladr value="Загрузить"><br>
</form>

Не выводит echo($string_namefile);
...
Рейтинг: 0 / 0
PHP и КЛАДР
    #37024150
Scorp1978
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Решил вопрос


Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
if(isset($_POST['copykladr']))
	{	$uploaddir = '../www/File/';
		$uploadfile = $uploaddir . basename($_FILES['userfile']['name']);
		if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {
		    //print "Файл успешно загружен на сервер. ";
		    //print "Информация о загруженном файле:\n";
		    //print_r($_FILES);
			} else {print "Не удалось загрузить файл:\n";
				    print "Дополнительная отладочная информация:\n";
				    print_r($_FILES);}
}

<form action="index.php" method="post" enctype="multipart/form-data">

...

      <p><b> Копирование файлов КЛАДРа в формате *.zip или *.rar на сервер </b></p>
      
       <input type="hidden" name="MAX_FILE_SIZE" value="300000" />
       Отправить этот файл: <input name="userfile" type="file" />
       <br> 
       <input type="submit" name = copykladr value="Загрузить и обновить базы КЛАДРа"><br>

</form>
...
Рейтинг: 0 / 0
PHP и КЛАДР
    #37024580
Destr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Тут интересная реализация

вообще лучше один раз создать структуру из двух таблиц - дерево топонимов и справочник типов топонимов, качнуть туда КЛАДР, благо не так часто он обновляется, чтобы иметь отдельный сервис для закачки. Кстати в структуре NAME 40 и SOCR 10 не корректно указаны, поскольку и в том и другом случае есть записи с более длинными значениями, поэтому во время импорта может или ругнуться на запись или обрезать ее
...
Рейтинг: 0 / 0
PHP и КЛАДР
    #37024928
Scorp1978
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Реализаця интересная и несложная, но к сожелению в нашем случае она не подходит. Спасибо за указание неточностей в структуре, завтра выложу готовый код на обкатку. Буду рад всем кто окажет помощь!!! (тем более обещали)
...
Рейтинг: 0 / 0
PHP и КЛАДР
    #37024934
Scorp1978
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Scorp1978Реализаця интересная и несложная, но к сожелению в нашем случае она не подходит. Спасибо за указание неточностей в структуре, завтра выложу готовый код на обкатку. Буду рад всем кто окажет помощь!!! (тем более обещали)Кстати не верна структура в какой таблице или во всех и сколько должна быть длина поля?
...
Рейтинг: 0 / 0
PHP и КЛАДР
    #37026046
Scorp1978
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот выкладываю код СОЗДАНИЯ, УДАЛЕНИЯ, КОПИРОВАНИЯ и ЗАПОЛНЕНИЯ баз КЛАДРа, буду рад разумной модификации кода в лучшую сторону. ShSerge, Вы обещали помочь с динамическими списками.


[srс]
<?php

// Создание или удаление структуры кладра
if(isset($_POST['struct']) or isset($_POST['delstruct']))
{
// Проверка на заполнение полей
$prov_login = 0;
$string_namehost = ($_POST['namehost']);$string_len = strlen($string_namehost);
if($string_len == 0){echo ('Введите наименование хоста ... ');}else{$prov_login+=1;}
$string_nameBD = ($_POST['nameBD']);$string_len = strlen($string_nameBD);
if($string_len == 0){echo ('Введите наименование БД ... ');}else{$prov_login = $prov_login+1;}
$string_user = ($_POST['user']);$string_len = strlen($string_user);
if($string_len == 0){echo ('Введите имя пользователя БД ... ');}else{$prov_login = $prov_login+1;}
$string_password = ($_POST['password']);$string_len = strlen($string_password);
if($string_len == 0){echo ('Введите пароль для входа в БД ... ');}else{$prov_login = $prov_login+1;}

// Соединение с БД
mysql_connect($string_namehost, $string_nameBD, $string_password);mysql_select_db($string_nameBD);

// Создание таблиц
if ($prov_login == 4 and isset($_POST['struct']))
{ if(mysql_table_seek('Kladr', $string_nameBD)){}else{mysql_createtable_kladr();}
if(mysql_table_seek('Street', $string_nameBD)){}else{mysql_createtable_street();}
if(mysql_table_seek('Doma', $string_nameBD)){}else{mysql_createtable_doma();}
if(mysql_table_seek('Flat', $string_nameBD)){}else{mysql_createtable_flat();}
if(mysql_table_seek('Socrbase', $string_nameBD)){}else{mysql_createtable_socrbase();}
if(mysql_table_seek('Altnames', $string_nameBD)){}else{mysql_createtable_altnames();}}

// Удаление таблиц
if ($prov_login == 4 and isset($_POST['delstruct']) and mysql_table_seek('Kladr', $string_nameBD)){mysql_deletetable('Kladr');}
if ($prov_login == 4 and isset($_POST['delstruct']) and mysql_table_seek('Street', $string_nameBD)){mysql_deletetable('Street');}
if ($prov_login == 4 and isset($_POST['delstruct']) and mysql_table_seek('Doma', $string_nameBD)){mysql_deletetable('Doma');}
if ($prov_login == 4 and isset($_POST['delstruct']) and mysql_table_seek('Flat', $string_nameBD)){mysql_deletetable('Flat');}
if ($prov_login == 4 and isset($_POST['delstruct']) and mysql_table_seek('Socrbase', $string_nameBD)){mysql_deletetable('Socrbase');}
if ($prov_login == 4 and isset($_POST['delstruct']) and mysql_table_seek('Altnames', $string_nameBD)){mysql_deletetable('Altnames');}

}

// Копирование баз КЛАДРа на сервер и заполнение таблиц
if(isset($_POST['copykladr']))
// Копирование и разархивирование баз КЛАДРа на сервере в формате *.dbf
{ $uploaddir = '../www/File/arhivKladr/';
$uploadfile = $uploaddir . 'kladr.rar';
if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {
} else {print "Не удалось загрузить файл:\n";
print "Дополнительная отладочная информация:\n";
print_r($_FILES);}
if (chdir('../www/File/arhivKladr/')){} else {print "Не удалось сменить директорию\n";}
$arh=exec("rar e kladr.rar"); // Примечание исполняемый файл rar должен находиться всместе с архивом КЛАДРа в одной папке
if ($arh){chdir("../..");} else {print "Архив не разархивирован\n";}

// Заполнение таблиц базы КЛАДРа
}





function mysql_deletetable($dTable)

{ $query="DROP TABLE ".$dTable;
$result = mysql_query($query) or die (" Не возможно удалить таблицу ".$dTable);
}


function mysql_createtable_kladr()
{ $query="CREATE TABLE Kladr ( `name` VARCHAR( 40 ),
`socr` VARCHAR( 10 ),
`code` VARCHAR( 13 ),
`index` VARCHAR( 6 ),
`gninmb` VARCHAR( 4 ),
`uno` VARCHAR( 4 ),
`ocatd` VARCHAR( 11 ),
`status` VARCHAR( 1 ))" ;
$result = mysql_query($query) or die (" Не возможно создать новую таблицу KLADR");
}

function mysql_createtable_street()
{ $query="CREATE TABLE Street (`name` VARCHAR( 40 ),
`socr` VARCHAR( 10 ),
`code` VARCHAR( 17 ),
`index` VARCHAR( 6 ),
`gninmb` VARCHAR( 4 ),
`uno` VARCHAR( 4 ),
`ocatd` VARCHAR( 11 ))" ;
$result = mysql_query($query) or die (" Не возможно создать новую таблицу Street");
}

function mysql_createtable_Doma()
{ $query="CREATE TABLE Doma (`name` VARCHAR( 40 ),
`korp` VARCHAR( 10 ),
`socr` VARCHAR( 10 ),
`code` VARCHAR( 19 ),
`index` VARCHAR( 6 ),
`gninmb` VARCHAR( 4 ),
`uno` VARCHAR( 4 ),
`ocatd` VARCHAR( 11 ))";
$result = mysql_query($query) or die (" Не возможно создать новую таблицу Doma");
}

function mysql_createtable_Flat()
{ $query="CREATE TABLE Flat (`name` VARCHAR( 40 ),
`code` VARCHAR( 23 ),
`index` VARCHAR( 6 ),
`gninmb` VARCHAR( 4 ),
`uno` VARCHAR( 4 ),
`np` VARCHAR( 4 ))";
$result = mysql_query($query) or die (" Не возможно создать новую таблицу Flat");
}

function mysql_createtable_Socrbase()
{ $query="CREATE TABLE Socrbase(`level` VARCHAR( 5 ),
`scname` VARCHAR( 10 ),
`socrname` VARCHAR( 29 ),
`kod_t_st` VARCHAR( 3 ))";
$result = mysql_query($query) or die (" Не возможно создать новую таблицу Socrbase");
}

function mysql_createtable_AltNames()
{ $query="CREATE TABLE Altnames(`oldcode` VARCHAR( 19 ),
`newcode` VARCHAR( 19 ),
`level` VARCHAR( 1 ))";
$result = mysql_query($query) or die (" Не возможно создать новую таблицу AltNames");
}

function mysql_table_seek($tablename, $dbname)
{ $table_list = mysql_query("SHOW TABLES FROM `".$dbname."`");
while ($row = mysql_fetch_row($table_list)) {if ($tablename==$row[0]) {return true;}}
return false;
}

function Replace_Street()
{ $open_db=dbase_open('../www/File/arhivKladr/street.dbf', 0); // Открываем файл из которого будем производить импорт данных
$records=dbase_numrecords($open_db); // Количество записей в импортируемом файле
for ($i=1; $i<= $records; $i++) // Переход на следующ. запись
{$row= dbase_get_record($open_db, $i); // Чтение записи
$name=$row[0]; // Наименование
$socr=$row[1]; // Сокращенное наименование типа объекта
$code=$row[2]; // Код
$index=$row[3]; // Почтовый индекс
$gninmb=$row[4]; // Код ИФНС
$uno=$row[5]; // Код территориального участка ИФНС
$ocatd=$row[6]; // Код ОКАТО
$query="INSERT INTO street( `name`, `socr`, `code`, `index`, `gninmb`, `uno`, `ocatd`)
VALUES ('".$name."', '".$socr."', '".$code."', '".$index."', '".$gninmb."', '".$uno."', '".$ocatd."')";
$result = mysql_query($query) or die("не удалось импортировать информацию");};
}

function Replace_Kladr ()
{ $open_db=dbase_open('../www/File/arhivKladr/kladr.dbf', 0); // открываем файл из которого будем производить импорт данных
$records=dbase_numrecords($open_db); // Количество записей в импортируемом файле
for ($i=1; $i<= $records; $i++) // Переход на следующ. запись
{$row= dbase_get_record($open_db, $i); // Чтение записи
$name=$row[0]; // Наименование
$socr=$row[1]; // Сокращенное наименование типа объекта
$code=$row[2]; // Код
$index=$row[3]; // Почтовый индекс
$gninmb=$row[4]; // Код ИФНС
$uno=$row[5]; // Код территориального участка ИФНС
$ocatd=$row[6]; // Код ОКАТО
$status=$row[7]; // Статус объекта
$query="INSERT INTO kladr ( `name`, `socr`, `code`, `index`, `gninmb`, `uno`, `ocatd`, `status`)
VALUES ('".$name."', '".$socr."', '".$code."', '".$index."', '".$gninmb."', '".$uno."', '".$ocatd."', '".$status."')";
$result = mysql_query($query) or die("не удалось импортировать информацию");};
}

function Replace_Doma ()
{ $open_db=dbase_open('../www/File/arhivKladr/doma.dbf', 0); // открываем файл из которого будем производить импорт данных
$records=dbase_numrecords($open_db); // Количество записей в импортируемом файле
for ($i=1; $i<= $records; $i++) // Переход на следующ. запись
{$row= dbase_get_record($open_db, $i); // Чтение записи
$name=$row[0]; // Наименование
$korp=$row[1]; // Корпус
$socr=$row[2]; // Сокращенное наименование типа объекта
$code=$row[3]; // Код
$index=$row[4]; // Почтовый индекс
$gninmb=$row[5]; // Код ИФНС
$uno=$row[6]; // Код территориального участка ИФНС
$ocatd=$row[7]; // Код ОКАТО
$query="INSERT INTO doma ( `name`, `korp`, `socr`, `code`, `index`, `gninmb`, `uno`, `ocatd`)
VALUES ('".$name."', '".$korp."', '".$socr."', '".$code."', '".$index."', '".$gninmb."', '".$uno."', '".$ocatd."')";
$result = mysql_query($query) or die("не удалось импортировать информацию");};
}

function Replace_Flat()
{ $open_db=dbase_open('../www/File/arhivKladr/flat.dbf', 0); // открываем файл из которого будем производить импорт данных
$records=dbase_numrecords($open_db); // Количество записей в импортируемом файле
for ($i=1; $i<= $records; $i++) // Переход на следующ. запись
{$row= dbase_get_record($open_db, $i); // Чтение записи
$name=$row[0]; // Наименование
$code=$row[1]; // Код
$index=$row[2]; // Почтовый индекс
$gninmb=$row[3]; // Код ИФНС
$uno=$row[4]; // Код территориального участка ИФНС
$np=$row[5]; // Номер подъезда дома
$query="INSERT INTO doma ( `name`, `code`, `index`, `gninmb`, `uno`, `np`)
VALUES ('".$name."', '".$code."', '".$index."', '".$gninmb."', '".$uno."', '".$np."')";
$result = mysql_query($query) or die("не удалось импортировать информацию");};
}

function Replace_Socrbase()
{ $open_db=dbase_open('../www/File/arhivKladr/Socrbase.dbf', 0); // открываем файл из которого будем производить импорт данных
$records=dbase_numrecords($open_db); // Количество записей в импортируемом файле
for ($i=1; $i<= $records; $i++) // Переход на следующ. запись
{$row= dbase_get_record($open_db, $i); // Чтение записи
$level=$row[0]; // Уровень объекта данного типа
$scname=$row[1]; // Сокращенное наименование типа объекта
$socrname=$row[2]; // Полное наименование типа объекта
$kod_t_st=$row[3]; // Код типа объекта
$query="INSERT INTO Socrbase ( `level`, `scname`, `socrname`, `kod_t_st`)
VALUES ('".$level."', '".$scname."', '".$socrname."', '".$kod_t_st."')";
$result = mysql_query($query) or die("не удалось импортировать информацию");};
}

function Replace_Altnames()
{ $open_db=dbase_open('../www/File/arhivKladr/Altnames.dbf', 0); // открываем файл из которого будем производить импорт данных
$records=dbase_numrecords($open_db); // Количество записей в импортируемом файле
for ($i=1; $i<= $records; $i++) // Переход на следующ. запись
{$row= dbase_get_record($open_db, $i); // Чтение записи
$oldcode=$row[0]; // Уровень объекта данного типа
$newcode=$row[1]; // Сокращенное наименование типа объекта
$level=$row[2]; // Полное наименование типа объекта
$query="INSERT INTO Socrbase ( `oldcode`, `newcode`, `level`)
VALUES ('".$oldcode."', '".$newcode."', '".$level."')";
$result = mysql_query($query) or die("не удалось импортировать информацию");};
}

?>




<html xmlns=" http://www.w3.org/1999/xhtml" xml:lang="ru-ru" lang="ru-ru" dir="ltr" >
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<head>
<title>Загрузка файлов на сервер</title>
</head>
<body>


<h2><p><b> Администрирование баз КЛАДРа </b></p></h2>

<form action="index.php" method="post" enctype="multipart/form-data">
<p><b> Создать структуру баз КЛАДРа на MySql </b></p>
<p>Введите имя хоста:  
<input value='localhost' type=text name = namehost>
  Введите имя БД:
<input value='site' input type=text name = nameBD>
  Имя пользователя:
<input value='site' input type=text name = user>
  Пароль:
<input value='123' input type=text name = password>
</p>
<p>
<input type="submit" name = struct value="Создание структуры КЛАДРа">
<input type="submit" name = delstruct value="Удалить структуру КЛАДРа"><br>
</p>

<p><b> Копирование файлов КЛАДРа в формате *.rar на сервер </b></p>

<input type="hidden" name="MAX_FILE_SIZE" value="300000" />
Укажите архив(*.rar) баз КЛАДРа: <input name="userfile" type="file" />
<br>
<input type="submit" name = copykladr value="Загрузить и обновить базы КЛАДРа"><br>
</form>

</body>
</html>
[/srс]
...
Рейтинг: 0 / 0
PHP и КЛАДР
    #37026244
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Scorp1978,

Scorp1978ShSerge, Вы обещали помочь с динамическими списками.

Не вопрос. Только ещё раз повторяю, уберите из кода "CREATE TABLE", ну и дроп, само собой.
...
Рейтинг: 0 / 0
PHP и КЛАДР
    #37035039
Scorp1978
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот без create add drop


Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
131.
132.
133.
134.
135.
136.
137.
138.
139.
140.
141.
142.
143.
144.
145.
146.
147.
148.
149.
150.
151.
152.
153.
154.
155.
156.
157.
158.
159.
160.
161.
162.
163.
164.
165.
166.
167.
168.
169.
170.
171.
172.
173.
174.
175.
176.
177.
178.
179.
180.
181.
<?php

// Копирование баз КЛАДРа на сервер и заполнение таблиц
 if ( isset ($_POST['copykladr']))
	{
		// Проверка на заполнение полей
		$prov_login =  0 ;
		$string_namehost = ($_POST['namehost']);$string_len =  strlen ($string_namehost);
		 if ($string_len ==  0 ){ echo  ('Введите наименование хоста ... ');} else {$prov_login+= 1 ;}
		$string_nameBD = ($_POST['nameBD']);$string_len =  strlen ($string_nameBD);
		 if ($string_len ==  0 ){ echo  ('Введите наименование БД ... ');} else {$prov_login = $prov_login+ 1 ;}
		$string_user = ($_POST['user']);$string_len =  strlen ($string_user);
		 if ($string_len ==  0 ){ echo  ('Введите имя пользователя БД ... ');} else {$prov_login = $prov_login+ 1 ;}		
   		$string_password = ($_POST['password']);$string_len =  strlen ($string_password);
		 if ($string_len ==  0 ){ echo  ('Введите пароль для входа в БД ... ');} else {$prov_login = $prov_login+ 1 ;}
		
		// Соединение с БД
		 mysql_connect ($string_namehost, $string_nameBD, $string_password); mysql_select_db ($string_nameBD);


		// Копирование и разархивирование баз КЛАДРа на сервере в формате *.dbf
	 	$uploaddir = '../www/File/arhivKladr/';
		$uploadfile = $uploaddir . 'kladr.rar';
		 if  ( move_uploaded_file ($_FILES['userfile']['tmp_name'], $uploadfile)) {
			}  else  { print  "Не удалось загрузить файл:\n";
				     print  "Дополнительная отладочная информация:\n";
				     print_r ($_FILES);}
		 if  ( chdir ('../www/File/arhivKladr/')){}  else  { print  "Не удалось сменить директорию\n";}
		$arh= exec ("rar e kladr.rar"); // Примечание исполняемый файл rar должен находиться всместе с архивом КЛАДРа в одной папке
		 if  ($arh){ chdir ("../..");}  else  { print  "Архив не разархивирован\n";}
	
		// Заполнение таблиц базы КЛАДРа
	     if  ($prov_login ==  4  and mysql_table_seek('Street', $string_nameBD)){Replace_Street();}
	     if  ($prov_login ==  4  and mysql_table_seek('Kladr', $string_nameBD)){Replace_Kladr();}
	     if  ($prov_login ==  4  and mysql_table_seek('Doma', $string_nameBD)){Replace_Doma();}
	     if  ($prov_login ==  4  and mysql_table_seek('Flat', $string_nameBD)){Replace_Flat();}
	     if  ($prov_login ==  4  and mysql_table_seek('Socrbase', $string_nameBD)){Replace_Socrbase();}
	     if  ($prov_login ==  4  and mysql_table_seek('Altnames', $string_nameBD)){Replace_Altnames();}
		
	}
	


 function  mysql_table_seek($tablename, $dbname)
{   $table_list =  mysql_query ("SHOW TABLES FROM `".$dbname."`");
     while  ($row =  mysql_fetch_row ($table_list)) { if  ($tablename==$row[ 0 ]) { return   true ;}}
     return   false ;
} 

 function  Replace_Street()
{	$open_db= dbase_open ('../www/File/arhivKladr/street.dbf',  0 );    // Открываем файл из которого будем производить импорт данных
	$records= dbase_numrecords ($open_db);                        	// Количество записей в импортируемом файле
	 for  ($i= 1 ; $i<= $records; $i++)          						// Переход на следующ. запись
		{$row=  dbase_get_record ($open_db, $i);    					// Чтение записи
		 $name=$row[ 0 ]; 											// Наименование 
		 $socr=$row[ 1 ]; 											// Сокращенное наименование типа объекта
		 $code=$row[ 2 ]; 											// РљРѕРґ
		 $index=$row[ 3 ]; 											// Почтовый индекс
		 $gninmb=$row[ 4 ]; 											// Код ИФНС
		 $uno=$row[ 5 ]; 												// Код территориального участка ИФНС
		 $ocatd=$row[ 6 ]; 											// РљРѕРґ РћРљРђРўРћ
	$query="INSERT INTO street( `name`, `socr`, `code`, `index`, `gninmb`, `uno`, `ocatd`) 
	  	    VALUES ('".$name."', '".$socr."', '".$code."', '".$index."', '".$gninmb."', '".$uno."', '".$ocatd."')";
	$result =  mysql_query ($query) or  die ("не удалось импортировать информацию");};
}

 function  Replace_Kladr ()
{	$open_db= dbase_open ('../www/File/arhivKladr/kladr.dbf',  0 ); 	// открываем файл из которого будем производить импорт данных
	$records= dbase_numrecords ($open_db);     						// Количество записей в импортируемом файле
     for  ($i= 1 ; $i<= $records; $i++)          						// Переход на следующ. запись
		{$row=  dbase_get_record ($open_db, $i); 						// Чтение записи
		 $name=$row[ 0 ]; 											// Наименование 
		 $socr=$row[ 1 ]; 											// Сокращенное наименование типа объекта
		 $code=$row[ 2 ]; 											// РљРѕРґ
		 $index=$row[ 3 ]; 											// Почтовый индекс
		 $gninmb=$row[ 4 ]; 											// Код ИФНС
		 $uno=$row[ 5 ]; 												// Код территориального участка ИФНС
		 $ocatd=$row[ 6 ]; 											// РљРѕРґ РћРљРђРўРћ
		 $status=$row[ 7 ]; 											// Статус объекта
	$query="INSERT INTO kladr ( `name`, `socr`, `code`, `index`, `gninmb`, `uno`, `ocatd`, `status`) 
    	    VALUES ('".$name."', '".$socr."', '".$code."', '".$index."', '".$gninmb."', '".$uno."', '".$ocatd."', '".$status."')";
	$result =  mysql_query ($query) or  die ("не удалось импортировать информацию");};
}

 function  Replace_Doma ()
{	$open_db= dbase_open ('../www/File/arhivKladr/doma.dbf',  0 ); 	    // открываем файл из которого будем производить импорт данных
	$records= dbase_numrecords ($open_db);     						// Количество записей в импортируемом файле
     for  ($i= 1 ; $i<= $records; $i++)          						// Переход на следующ. запись
	{$row=  dbase_get_record ($open_db, $i); 							// Чтение записи
	 $name=$row[ 0 ]; 												// Наименование 
	 $korp=$row[ 1 ]; 												// РљРѕСЂРїСѓСЃ
	 $socr=$row[ 2 ]; 												// Сокращенное наименование типа объекта
	 $code=$row[ 3 ]; 												// РљРѕРґ
	 $index=$row[ 4 ]; 												// Почтовый индекс
	 $gninmb=$row[ 5 ]; 												// Код ИФНС
	 $uno=$row[ 6 ]; 													// Код территориального участка ИФНС
	 $ocatd=$row[ 7 ]; 												// РљРѕРґ РћРљРђРўРћ
	$query="INSERT INTO doma ( `name`, `korp`, `socr`, `code`, `index`, `gninmb`, `uno`, `ocatd`) 
    	    VALUES ('".$name."', '".$korp."', '".$socr."', '".$code."', '".$index."', '".$gninmb."', '".$uno."', '".$ocatd."')";
	$result =  mysql_query ($query) or  die ("не удалось импортировать информацию");};
}

 function  Replace_Flat()
{	$open_db= dbase_open ('../www/File/arhivKladr/flat.dbf',  0 ); 	    // открываем файл из которого будем производить импорт данных
	$records= dbase_numrecords ($open_db);     						// Количество записей в импортируемом файле
     for  ($i= 1 ; $i<= $records; $i++)          						// Переход на следующ. запись
	{$row=  dbase_get_record ($open_db, $i); 							// Чтение записи
	 $name=$row[ 0 ]; 												// Наименование 
	 $code=$row[ 1 ]; 												// РљРѕРґ
	 $index=$row[ 2 ]; 												// Почтовый индекс
	 $gninmb=$row[ 3 ]; 												// Код ИФНС
	 $uno=$row[ 4 ]; 													// Код территориального участка ИФНС
	 $np=$row[ 5 ]; 													// Номер подъезда дома
	$query="INSERT INTO doma ( `name`, `code`, `index`, `gninmb`, `uno`, `np`) 
    	    VALUES ('".$name."', '".$code."', '".$index."', '".$gninmb."', '".$uno."', '".$np."')";
	$result =  mysql_query ($query) or  die ("не удалось импортировать информацию");};
}

 function  Replace_Socrbase()
{	$open_db= dbase_open ('../www/File/arhivKladr/Socrbase.dbf',  0 ); 	// открываем файл из которого будем производить импорт данных
	$records= dbase_numrecords ($open_db);     						// Количество записей в импортируемом файле
     for  ($i= 1 ; $i<= $records; $i++)          						// Переход на следующ. запись
	{$row=  dbase_get_record ($open_db, $i); 							// Чтение записи
	 $level=$row[ 0 ]; 												// Уровень объекта данного типа
	 $scname=$row[ 1 ]; 												// Сокращенное наименование типа объекта
	 $socrname=$row[ 2 ]; 											// Полное наименование типа объекта
	 $kod_t_st=$row[ 3 ]; 											// Код типа объекта
	$query="INSERT INTO Socrbase ( `level`, `scname`, `socrname`, `kod_t_st`) 
    	    VALUES ('".$level."', '".$scname."', '".$socrname."', '".$kod_t_st."')";
	$result =  mysql_query ($query) or  die ("не удалось импортировать информацию");};
}

 function  Replace_Altnames()
{	$open_db= dbase_open ('../www/File/arhivKladr/Altnames.dbf',  0 ); 	// открываем файл из которого будем производить импорт данных
	$records= dbase_numrecords ($open_db);     						// Количество записей в импортируемом файле
     for  ($i= 1 ; $i<= $records; $i++)          						// Переход на следующ. запись
	{$row=  dbase_get_record ($open_db, $i); 							// Чтение записи
	 $oldcode=$row[ 0 ]; 												// Уровень объекта данного типа
	 $newcode=$row[ 1 ]; 												// Сокращенное наименование типа объекта
	 $level=$row[ 2 ]; 												// Полное наименование типа объекта
	$query="INSERT INTO Socrbase ( `oldcode`, `newcode`, `level`) 
    	    VALUES ('".$oldcode."', '".$newcode."', '".$level."')";
	$result =  mysql_query ($query) or  die ("не удалось импортировать информацию");};
}

?>




<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ru-ru" lang="ru-ru"  dir ="ltr" >
 <meta http-equiv="content-type" content="text/html; charset=utf-8" />
<head>
  <title>Загрузка файлов на сервер</title>
</head>
<body>


      <h2><p><b> Администрирование баз КЛАДРа </b></p></h2>
      
      <form action="index1.php" method="post" enctype="multipart/form-data">
<p><b> Копирование файлов КЛАДРа в формате *.rar на сервер </b></p>
      
       <p>Введите РёРјСЏ хоста:  
         <input value='localhost' type=text name = namehost>
  Р’ведите РёРјСЏ БД:
<input  value='site' input type=text name = nameBD>
  Р˜РјСЏ пользователя:
<input value='site' input type=text name = user>
  РџР°СЂРѕР»СЊ:
<input value='123' input type=text name = password>
       </p>
       <p>
         <input type="hidden" name="MAX_FILE_SIZE" value="300000" />
       Укажите архив(*.rar) баз КЛАДРа: <input name="userfile" type="file" />
       <br> 
      <input type="submit" name = copykladr value="Загрузить и обновить базы КЛАДРа"><br>
       </p>
</form>

</body>
</html>
...
Рейтинг: 0 / 0
PHP и КЛАДР
    #37035040
Scorp1978
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
чет с кодировкой не лады, если надо позже выложу с нормальным русским
...
Рейтинг: 0 / 0
25 сообщений из 40, страница 1 из 2
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / PHP и КЛАДР
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]