2015-01-24 4 views
0

Я сбиваются, когда я смотрю, как программировать с MySQL/PHPAdmin в PHPКак создать список контактов в PHP с использованием MySQL/PHPMyAdmin

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

user1 ID

user1 bio

пользователь1 адрес электронной почты

user1 контакты

user1_contact1 (name, contact bio, contact email) 

user1_contact2 (name, contact bio, contact email) 

user1_contact3 (name, contact bio, contact email) 

user2 ID

user2 био

user2 электронной

user2 контакты

user2_contact1 (name, contact bio, contact email) 

user2_contact2 (name, contact bio, contact email) 

user2_contact3 (name, contact bio, contact email) 

так, когда User1 знаки в которых они видят user1 данные и user1 контакты и en user2, они видят, что пользовательские данные2 и контакты user2

Мне кажется, что контакты должны быть таблицей, а то, что я продолжаю путать, - это сделать ее пользовательской таблицей для каждого пользователя и как должна быть структура в PHPMyAdmin

Пользовательские контакты состоят из 5 контактов на 5000 контактов.

если есть лучший способ, который я пропускаю, дайте мне знать.

+2

STRONG предложение: купить книгу и/или пройти через несколько простых PHP/MySQL/HTML учебники. Например: [PHP MySQL Database] (http://www.w3schools.com/php/php_mysql_intro.asp). В вашем случае это звучит так: a) вам нужна «таблица контактов» и b) «таблица пользователей». Каждая строка в вашей таблице контактов будет иметь ссылку на соответствующий «пользователь»: у нее будет [внешний ключ] (http://www.mysqltutorial.org/mysql-foreign-key/). Например, столбец «userID». Многому научиться - но основы легки. Честный. – FoggyDay

+0

Время думать о нескольких таблицах с полями отношений типа 'user_id' – charlietfl

ответ

1

Попробуйте пользовательскую таблицу и таблицу контактов со следующим кодом SQL:

CREATE TABLE MyUsers (userid BIGINT(20) NOT NULL PRIMARY KEY AUTO_INCREMENT, bio TEXT, email VARCHAR(255)); 
CREATE TABLE Contacts (userid BIGINT(20) NOT NULL FOREIGN KEY, contactid BIGINT(20) NOT NULL); 
+0

Нет -« ContactID »- ваш первичный ключ в таблице« Контакты ». «UserId» - это внешний ключ. И нет необходимости в «BIGINT» - я бы просто использовал «Int». В примерах MySQL используется «MEDIUMINT». Я также рассмотрел бы [auto-increment] (http://stackoverflow.com/questions/3135804/types-in-mysql-bigint20-vs-int20-etcc_ – FoggyDay

+0

FoggyDay, вы правы, первичный ключ должен быть уникальным, и поле userid в таблице контактов не будет уникальным. –

+0

это правильно «CREATE TABLE студента ( user_id INT AUTO_INCREMENT, био VARCHAR (255) NOT NULL, электронной VARCHAR (255) NOT NULL, PRIMARY KEY (user_id) ); CREATE TABLE контакт ( contact_no INT NOT NULL AUTO_INCREMENT, CONTACT_NAME VARCHAR (30) NOT NULL, contact_bio VARCHAR (255) NOT NULL, contact_email VARCHAR (255) NOT NULL, ПЕРВИЧНЫЙ КЛЮЧ (contact_no), ИНОСТРАННОЙ KEY (user_id) ССЫЛКИ студентов (user_id) ); – Rob781

Смежные вопросы