Технический форум
Вернуться   Технический форум > Программирование > Форум программистов > Помощь студентам


Ответ
 
Опции темы Опции просмотра
Старый 23.12.2011, 16:27   #1 (permalink)
Ragnos
Member
 
Регистрация: 23.12.2011
Сообщений: 23
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию Помогите с привязкой двух БД

Здравствуйте, у меня такая задача: нужно сделать телефонный справочник


Мне нужно создать в нём выпадающее меню городов, чтоб было так: выбрал город допустим Москву, и в другой форме ввёл например фамилию человека, нажал на поиск и чтоб поиск шёл только из БД именно Москвы.

Точно также и с другими городами, допустим выбрал Казань, ввёл фамилию и чтоб поиск производился уже БД казани.

Я думал что должно это так делаться, создать БД в DENWER, и в этой БД создать, таблицы с данными для городов, допустим одну таблицу назвать Москва, и когда в форме выбираеш москву чтоб поиск шёл только в этой таблице, допустим чтоб фамилии Петров искал только в этой таблице. И также для других городов создать отдельные таблицы.


Помогите пожалуйста, как можно такое реализовать, если выше описанные действия совсем неправильны, подскажите как можно проделать это правильно но с таким же результатом
Ragnos вне форума   Ответить с цитированием

Старый 23.12.2011, 16:27
Helpmaster
Member
 
Аватар для Helpmaster
 
Регистрация: 08.03.2016
Сообщений: 0

В этом деле лучше не спешить, посмотрите внимательно однородные темы

Плата на двух 7265. Помогите разобраться
Подключение двух веб-камер
УНЧ на двух транзисторах

Старый 23.12.2011, 19:25   #2 (permalink)
kreol
Member
 
Аватар для kreol
 
Регистрация: 27.02.2010
Сообщений: 659
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 1312
По умолчанию

1) планируется использовать mysql?
2) на каком языке программирование хотите решить данную задачу?
3) плодить столько бд это расточительство...
kreol вне форума   Ответить с цитированием
Старый 23.12.2011, 20:41   #3 (permalink)
Ragnos
Member
 
Регистрация: 23.12.2011
Сообщений: 23
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

1) Да на mysql
2) на php
3) тогда как можно удобнее сделать это?
Ragnos вне форума   Ответить с цитированием
Старый 23.12.2011, 21:37   #4 (permalink)
AlexZir
support
 
Аватар для AlexZir
 
Регистрация: 19.08.2007
Адрес: Зея
Сообщений: 15,797
Записей в дневнике: 71
Сказал(а) спасибо: 166
Поблагодарили 203 раз(а) в 86 сообщениях
Репутация: 75760
По умолчанию

можно попробовать в одной базе создать отдельные таблицы для каждого города и обращаться к ним по названию, что-то типа $name_table$ или подобного. Более подробно, к сожалению, не распишу.
AlexZir вне форума   Ответить с цитированием
Старый 24.12.2011, 03:08   #5 (permalink)
kreol
Member
 
Аватар для kreol
 
Регистрация: 27.02.2010
Сообщений: 659
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 1312
По умолчанию

Вот что я наваял)))

создайте базу данных sp

и выполните скрипт
Код:
SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
SET time_zone = "+00:00";


/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;

--
-- База данных: `sp`
--
USE`sp`;
-- --------------------------------------------------------

--
-- Структура таблицы `spravochnik`
--
CREATE TABLE IF NOT EXISTS `spravochnik` (
  `city` varchar(40) NOT NULL,
  `surename` varchar(40) NOT NULL,
  `name` varchar(40) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

--
-- Дамп данных таблицы `spravochnik`
--

INSERT INTO `spravochnik` (`city`, `surename`, `name`) VALUES
('Москва', 'Иванов', 'Алексей'),
('Москва', 'Сидоров', 'Владислав'),
('Москва', 'Сидоров', 'Ярослав'),
('Петербург', 'Гаврилов', 'Тарас'),
('Петербург', 'Гаврилов', 'Тарас'),
('Орловщина', 'Федеров', 'Михаил');

/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
это можно выполнить к примеру в phpmyadmin или dbforge(кажись) или в любом другом клиенте для работы с mysql

далее серверный код(он тут без защиты...)
PHP код:
<?php
 
print "</h1>Справочник России <br /><br /></h1>";
    
$p mysql_connect("localhost","/*Укажите имя юзера для подключения к бд*/","пароль") or die("Ошибка подключения к mysql");
    
$bd mysql_select_db("sp") or die("Ошибка выбора бд");
    
$city $_GET['city'];
    
$surname $_GET['surname'];
    
$query "SELECT name FROM spravochnik WHERE city='$city' AND surename='$surname'";
    print 
$query;
    
mysql_set_charset("utf8");
    
$result mysql_query($query);
    
$count mysql_num_rows($result);
    print 
$count;
    for (
$i=0$i $count$i++){
      
$name mysql_fetch_array($result);
      echo 
$name['name'] . "<br />";
    }
?>
ну и клиент
Код HTML:
 <html>
  <head>
    <title></title>
  </head>
  <body>
    <p>
    <form name="data" action="unit2.php" method="GET">
      <table border="0" cellspacing="1" cellpadding="1" width="256" height="61">
        <tbody>
          <tr height="31">
            <td>Город:</td>
            <td width="154"><input tabindex="1" name="city" alt="Город" maxlength="40" /></td>
            <td>&nbsp;</td>
          </tr>
          <tr height="23">
            <td>Фамилия</td>
            <td width="154"><input tabindex="2" name="surname" alt="Фамилия" maxlength="40" /></td>
            <td><input tabindex="3" name="send" maxlength="1" value="Поиск" type="submit" /></td>
          </tr>
        </tbody>
      </table>
    </p>
  </body>
</html>
если что не понятно спрашивайте)))
kreol вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Старый 24.12.2011, 12:20   #6 (permalink)
Ragnos
Member
 
Регистрация: 23.12.2011
Сообщений: 23
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Цитата:
создайте базу данных sp

и выполните скрипт
Вот как раз этого я и не понимаю, как именно выполнить скрипт, тобиш незнаю куда нажимать, где и как прописывать в DENWER, можете обьяснить?
Ragnos вне форума   Ответить с цитированием
Старый 24.12.2011, 14:56   #7 (permalink)
kreol
Member
 
Аватар для kreol
 
Регистрация: 27.02.2010
Сообщений: 659
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 1312
По умолчанию

в браузере набираете http://localhost/Tools/phpMyAdmin/
а дальше смотрите мануал, а то писать много... (хотя там вроде интуитивно понятно что делать...) сравнение в бд выбрать utf8_general_ci
kreol вне форума   Ответить с цитированием
Старый 24.12.2011, 16:09   #8 (permalink)
Ragnos
Member
 
Регистрация: 23.12.2011
Сообщений: 23
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Нет нет, базу я знаю как создать, а вот что значит выполнить скрипт как это сделать, хотя бы в кратце можно объяснить плиз. Что мне сделать с кодом который после слов

Вот что я наваял)))

создайте базу данных sp

и выполните скрипт

Вот его я не пойму куда девать?
Ragnos вне форума   Ответить с цитированием
Старый 24.12.2011, 18:05   #9 (permalink)
kreol
Member
 
Аватар для kreol
 
Регистрация: 27.02.2010
Сообщений: 659
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 1312
По умолчанию

в phpmyadmin выбираете созданную бд и в меню должна быть что-то типа sql или "создать sql" "создать sql запрос" ... появится текстовое поле туда и вставляете.

ели сохраните в файле (!!! обязательно в utf8) и выполните импорт...
kreol вне форума   Ответить с цитированием
Старый 25.12.2011, 07:37   #10 (permalink)
Ragnos
Member
 
Регистрация: 23.12.2011
Сообщений: 23
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Спасибо, сделал как написали, но когда ввожу город и фамилию, показывает вот это

Цитата:
Справочник России

SELECT name FROM spravochnik WHERE city='Москва' AND surename='Иванов'0
Хотя все параметры указал нужные: базу, пользователя, таблицу.


Скажите а как можно сделать так: вот я создам три таблицы (москва, питер, воронеж), в них естественно данные о людях этих городов.

И как вот сделать выпадающий список, допустим выбрал из списка москву, и чтоб php понял что выбрана в mysql таблица Москвы и что поиск по введённой фамилии осуществлять нужно только в этой таблице

Вот так как то чтоб получилось, можете объяснить как так сделать.
Ragnos вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.




Часовой пояс GMT +4, время: 18:15.

Powered by vBulletin® Version 6.2.5.
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.