|
Подойдет ли структура базы под скрипт?
#38951432
Ссылка:
Ссылка на сообщение:
Ссылка с названием темы:
Ссылка на профиль пользователя:
|
Участник
Откуда: Самара
Сообщения: 547
|
|
php
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.
<?
// указываем параметры для подключения к MySQL
$host='localhost'; // имя хоста
$database='baza'; // имя базы данных
$user='admin'; // заданное вами имя пользователя
$pswd='pasw'; // заданный вами пароль
// подключаемся к MySQL
$dbh = mysql_connect($host, $user, $pswd) or die("Не могу соединиться с MySQL.");
mysql_select_db($database) or die("Не могу подключиться к базе.");
define("db_prefix","pb_");
function is_sel($a, $field)
{
$b = isset($_POST[$field])?$_POST[$field]:NULL;
if($a == $b) return 'selected="selected"';
}
$res = mysql_query('SELECT * FROM '.db_prefix.'country');
?>
<form id="frm" method="post">
<select name="country" onchange="document.getElementById('frm').submit()" >
<option value='null'>- Выберите страну -</option>
<?
// выводим все строки из столбца name таблицы country
while($row = mysql_fetch_array($res))
echo "<option ".is_sel($row['id'],'country')." value='" . $row['id'] . "'>" . $row['name'] . "</option>\r\n";
echo "</select>";
if(isset($_POST['country']))
{
$res=mysql_query('SELECT * FROM '.db_prefix.'area WHERE country="'.mysql_real_escape_string($_POST['country']).'"');
if(mysql_num_rows($res)){
echo "<select name=\"region\" onchange=\" document.getElementById('frm').submit();\" >
<option id=\"region\" value='0'>- Выберите pегион -</option>";
while($row = mysql_fetch_array($res))
echo "<option ".is_sel($row['id'],'region')." value='" . $row['id'] . "'>" . $row['name'] . "</option>\r\n";
echo "</select>";
}else{ // выбираю города без учета региона
$res=mysql_query('SELECT * FROM '.db_prefix.'city WHERE country='.mysql_real_escape_string($_POST['country']));
echo "<select id=\"city\" name=\"city\" onchange=\"document.getElementById('frm').submit()\" >
<option value='0'>- Выберите город -</option>";
while($row = mysql_fetch_array($res))
echo "<option ".is_sel($row['id'],'city')." value='" . $row['id'] . "'>" . $row['name'] . "</option>\r\n";
echo "</select>";
}
}
$region = isset($_POST['region'])?$_POST['region']:NULL;
if($region && $region !== 0)
{
$res=mysql_query('SELECT * FROM '.db_prefix.'city WHERE area='.(int)$_POST['region']);
echo "<select id=\"city\" name=\"city\" onchange=\"document.getElementById('frm').submit()\" >
<option value='0'>- Выберите город -</option>";
while($row = mysql_fetch_array($res))
echo "<option ".is_sel($row['id'],'city')." value='" . $row['id'] . "'>" . $row['name'] . "</option>\r\n";
echo "</select>";
}
?>
</form>
<?
$city = isset($_POST['city'])?$_POST['city']:NULL;
if($city && $city !== 0)
{
$res=mysql_query('SELECT * FROM '.db_prefix.'city WHERE id='.(int)$_POST['city'].' LIMIT 1');
$row = mysql_fetch_array($res);
echo "<h1>Хочу в ".$row['name']."!</h1>";
}
?>
структура
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.
=======================================структура базы======================================
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 )) ;
CREATE TABLE Street (`name` VARCHAR( 40 ),
`socr` VARCHAR( 10 ),
`code` VARCHAR( 17 ),
`index` VARCHAR( 6 ),
`gninmb` VARCHAR( 4 ),
`uno` VARCHAR( 4 ),
`ocatd` VARCHAR( 11 )) ;
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 ));
CREATE TABLE Flat (`name` VARCHAR( 40 ),
`code` VARCHAR( 23 ),
`index` VARCHAR( 6 ),
`gninmb` VARCHAR( 4 ),
`uno` VARCHAR( 4 ),
`np` VARCHAR( 4 ));
CREATE TABLE Socrbase(`level` VARCHAR( 5 ),
`scname` VARCHAR( 10 ),
`socrname` VARCHAR( 29 ),
`kod_t_st` VARCHAR( 3 ));
CREATE TABLE Altnames(`oldcode` VARCHAR( 19 ),
`newcode` VARCHAR( 19 ),
`level` VARCHAR( 1 ));
CREATE TABLE country(`name` VARCHAR( 19 ),
`id` VARCHAR( 19 ));
|
|
|