2012-01-24 2 views
-2

Ну, я пытаюсь в течение последних 5 дней создать простой регистр, подтвердить, войти в скрипт PHP, который предназначен для назначения в UNI, но вещь, которую я пытаюсь в течение последних 5 дней, и она не работает добавляет друзей в список друзей. Kid как Facebook, но гораздо проще, это для Android-игры, которую мы получили как групповое задание.PHP-скрипт для добавления друзей

У меня есть один TABLE users где у меня есть поля ID, username, password, email, friends.

В друзья в поле Мне хотелось бы сохранить несколько значений в качестве идентификаторов ваших друзей. Чтобы получить в игре информацию о пользователе.

Эта БД и таблицы на MySQL и INSERT или UPDATE не работают для меня, INSERT создает новую запись и не может вставить только один столбец существующей записи и UPDATE не может просто вставить значение, но будет удалять старые . один и вставить новый в

+1

какой код вы используете, какие результаты вы ожидаете и почему и какой результат вы получаете // какие ошибки вы получаете? – Nanne

+0

«Не работает» слишком неопределенно - получите сообщения об ошибках? Вы проверяете mysql_error() или похожи, чтобы узнать, что может быть проблемой? Вы используете модуль mysql, mysqli или pdo_mysql? Можем ли мы увидеть соответствующие биты вашего кода? – halfer

+0

Если вы прочтете такой вопрос, как бы вы помогли человеку, не видя ни одной строки кода? –

ответ

2

Обычно вы бы добавить Freinds таблицу с полями:

user_id friend_id

, где оба поля ссылки на поле идентификатора таблицы пользователя.

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

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

3

Видя, что это отношение «многие ко многим» (если я прав), поэтому было бы разумно создать отдельную таблицу, которая записывает это.

Table: Friends 
userID 
userID2 (or friendID) 

Что вы можете заполнить.

Для получения дополнительной информации: http://www.singingeels.com/Articles/Understanding_SQL_Many_to_Many_Relationships.aspx

+0

Эта статья многое помогла, thx –

+0

@JakubZak Нет проблем, теперь вы знаете, что то, чего вы пытаетесь достичь, - это много-много отношений, просто разместите на нем некоторые статьи, и это вам очень поможет. Очень часто используется. –

2

То, что вы описали здесь является many-to-many отношения между людьми и их друзьями. Канонический способ реализовать это в реляционной базе данных - использовать сводную таблицу, в которой каждая строка представляет собой «дружбу» между двумя людьми. Вы должны были бы два поля, чтобы держать идентификаторы:

users стол:

id, name, email, etc. 

friendships стол:

user_id_1, user_id_2 

Затем, если пользователь 1 дружит с пользователем 2 и 3 пользователя, вы» d имеют записи (1,2) и (1,3) в таблице friendships. Вы можете относиться к ним как к взаимным отношениям, если хотите, или вы можете потребовать запись (2,1), чтобы обозначить, что пользователь 2 также дружит с пользователем 1.

+0

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

+1

@Jakub Zak, понимание отношений «многие ко многим» может быть сложным вначале. Просто прочитайте несколько статей и руководств об этом, и все станет ясно. – Czechnology

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