Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: создание сайта с бд

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Без описания
Ex
Отправлено: 22 Сентября, 2013 - 18:28:08
Post Id


Частый гость


Покинул форум
Сообщений всего: 189
Дата рег-ции: Июнь 2013  


Помог: 0 раз(а)




суть в чем. для примера, мне нужно создать сайт телефонного справочника например.
я создал в phpmyadmin 3 таблицы:
1) id и ФИО
2) id и Адресс
3) id и Номера рабочий и домашний
(не пишите плиз, что это все можно ввести в 1 таблицу, я знаю что так проще, но мне нужно именно так научится)
И я так понимаю вся инфа с одинаковым id свяжется само, или нужно как то связать эти 3 таблицы между собой через одинаковые id?

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

ну и так же сделать возможность добавления в базу новых клиентов (фио, адрес, номера)
ну и id я так понимаю при добавлении клиентов сам будет проставляться далее по порядку. или же в коде нужно что то указать что бы id проставлялось далее.

если кто может помоч в этом деле и есть возможность обьяснить как все это делается.
у меня пока имеется файл бд с 3 таблицами и в них данные. и в каком формате лучше сохранять бд?
 
 Top
Мелкий Супермодератор
Отправлено: 22 Сентября, 2013 - 19:06:00
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




Разберитесь, как данные соотносятся между собой. На основании этого можно будет решать, как делать связи между ними.

Например, на одном адресе может быть несколько телефонных номеров, но один телефонный номер может быть только на одном адресе. Это связь 1:М (один ко многим), в таблице телефонов делается поле, в которое записывается id записи с соответствующим адресом.
А вот, например, по одному адресу может жить несколько человек и у одного человека может быть несколько адресов (хотя бы рабочий и домашний) - это связь М:М. В реляционных таблицах реализуется черед таблицу связей из двух полей, ссылающихся в этом случае, на id адреса и id человека.

Подробнее - теория реляционных баз данных.

Ex пишет:
не пишите плиз, что это все можно ввести в 1 таблицу, я знаю что так проще, но мне нужно именно так научится

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


-----
PostgreSQL DBA
 
 Top
Ex
Отправлено: 22 Сентября, 2013 - 19:47:52
Post Id


Частый гость


Покинул форум
Сообщений всего: 189
Дата рег-ции: Июнь 2013  


Помог: 0 раз(а)




Мелкий пишет:
Разберитесь, как данные соотносятся между собой. На основании этого можно будет решать, как делать связи между ними.

Например, на одном адресе может быть несколько телефонных номеров, но один телефонный номер может быть только на одном адресе. Это связь 1:М (один ко многим), в таблице телефонов делается поле, в которое записывается id записи с соответствующим адресом.
А вот, например, по одному адресу может жить несколько человек и у одного человека может быть несколько адресов (хотя бы рабочий и домашний) - это связь М:М. В реляционных таблицах реализуется черед таблицу связей из двух полей, ссылающихся в этом случае, на id адреса и id человека.

Подробнее - теория реляционных баз данных.

Ex пишет:
не пишите плиз, что это все можно ввести в 1 таблицу, я знаю что так проще, но мне нужно именно так научится

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

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

ну или как все сделать если допустим 1 таблица, всю инфу в 1 таблицу вкинуть

(Отредактировано автором: 22 Сентября, 2013 - 20:02:56)

 
 Top
VestCoastman
Отправлено: 22 Сентября, 2013 - 22:50:17
Post Id



Посетитель


Покинул форум
Сообщений всего: 374
Дата рег-ции: Дек. 2010  


Помог: 3 раз(а)




id | ФИО | Адресс | Номера рабочий и домашний
Получаете информацию по идентификатору, ну или номеру телефона
Рабочий и домашний лучше хранить в отдельных столбцах
id | ФИО | Адресс | Рабочий | Домашний
Для id - авто_инкримент, как обычно
Для номеров unique, чтобы повторов не было.
 
 Top
Ex
Отправлено: 22 Сентября, 2013 - 23:02:37
Post Id


Частый гость


Покинул форум
Сообщений всего: 189
Дата рег-ции: Июнь 2013  


Помог: 0 раз(а)




VestCoastman пишет:
id | ФИО | Адресс | Номера рабочий и домашний
Получаете информацию по идентификатору, ну или номеру телефона
Рабочий и домашний лучше хранить в отдельных столбцах
id | ФИО | Адресс | Рабочий | Домашний
Для id - авто_инкримент, как обычно
Для номеров unique, чтобы повторов не было.

ну я рабочий и домашний и написал в отдельных столбцах.

у меня проблема в том, что я бд сделал, сайт тоже оформлю, а вот обьеденить их вместе не мгу, не умею я с этим php, что бы соединение создать и так далее. Что бы были поля для поиска по ФИО, Адрессу, номеру и так же что бы была возможность редактировать, создавать и удалять это все через сайт.
 
 Top
Squirrel
Отправлено: 23 Сентября, 2013 - 00:13:38
Post Id


Забанен


Покинул форум
Сообщений всего: 147
Дата рег-ции: Авг. 2013  


Помог: 4 раз(а)

[+]


Ex пишет:
1) id и ФИО
2) id и Адресс
3) id и Номера рабочий и домашний

1) nID | ФИО | aID
2) aID | Адрес
3) phID | Номер домашний | nID
3) pwID | Номер рабочий | nID

Вот как-то так. Предполагается, что
А) Человек живет только по одному адресу
Б) По одному адресу может жить НОЛЬ или более человек
В) У человека НОЛЬ или более рабочих телефонов.
Г) У человека НОЛЬ или более домашних телефонов
Е) Если у нескольких человек один и тот же домашний или рабочий телефон тут не прокатит.

Погоняй к своим условиям. Это самый простой случай. А самый правильный ответ, тебе дал Мелкий в первом абзаце.
 
 Top
Мелкий Супермодератор
Отправлено: 23 Сентября, 2013 - 09:48:16
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




Ex пишет:
я хочу связать все через id, по этому и создавал строку id в каждой таблице, что бы потом связать между собой.

Ну так. Я описал, что с этими id делать дальше на уровне данных.

Ex пишет:
ну я рабочий и домашний и написал в отдельных столбцах.

Неправильно. Потом понадобится сохранить мобильный - и куда?
Должно быть: id телефона, номер телефона, тип телефона (домашний, мобильный, рабочий и пр.).

Ex пишет:
у меня проблема в том, что я бд сделал, сайт тоже оформлю, а вот обьеденить их вместе не мгу, не умею я с этим php, что бы соединение создать и так далее. Что бы были поля для поиска по ФИО, Адрессу, номеру и так же что бы была возможность редактировать, создавать и удалять это все через сайт.

И? Учитесь, если хотите это знать. Не хватает знаний - берите книги. Направления вы уже знаете - это теория реляционных баз данных (ответит на вопрос "как создавать структуру таблиц") и что-нибудь по PHP (как запрограммировать создание, редактирование, поиск и отображение этих данных, CRUD, одним словом)


-----
PostgreSQL DBA
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB