Структура кодирования для списка активности - PullRequest
0 голосов
/ 01 августа 2011

Исходя из Способ / способ кодирования, чтобы сделать список активности / журнал

Я работал с принятым ответом на поставленный выше вопрос, имея две таблицы: одну для описания действий, а другую для самих действий.

table: activitylist
Columns:
id, description, date

table: activities
Column:
id, aID, uID, date

aID - это идентификатор активности, uID - это идентификатор пользователя. идентификатор активности - это идентификатор в таблице «список активности»

Теперь я могу вывести:

person ate another persons apple

Поскольку этот текст не является личным и может быть использован для всех ..

Что если я хотел бы вывести:

Michael ate Peters apple

(пример)

Что потребуется для разделения в описании / тексте?

Я думал о том, что вам нужно будет куда-нибудь включить uID Майкла и Питера, но где? И как мне работать с этим разделенным описанием?

Я имею в виду, я не могу сделать строку в таблице активности таблицы с описанием: "Майкл съел яблоко Питерса" как я пытаюсь сделать эти описания универсальными, чтобы Адам и Джулия могли получить Майкла и Питера.

Надеюсь, вы понимаете, пожалуйста, прокомментируйте, если вопросы ..

Обновление: Вывод:

Это список действий, который показывает все действия, выполненные на странице, которые могут видеть все пользователи. Затем я хочу показать мероприятие под названием «Майк прокомментировал фото Петерса». Как я могу сделать описание деятельности, когда оно включает пользователей (в данном случае: Майк, Питер)

Ответы [ 2 ]

1 голос
/ 01 августа 2011

Просто добавьте еще один столбец к действиям и назовите его uID2. Затем в своем описании поместите что-то вроде '## UID1 ## закомментированного ## UID2 ##' фото ', затем используйте str_replace для замены ## UID1 ## и ## UID2 ## следующим образом:

$description = activitylist['description'];
$description = str_replace('##UID1##', $uid, $description);
$description = str_replace('##UID2##', $uid2, $description);

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

0 голосов
/ 01 августа 2011

Если бы я сделал что-то подобное, у меня были бы все строки хранилища varchars, которые можно проанализировать с помощью sprintf .

$uid1 = 'Frank'; $uid2 = 'George';
$format = '%s ate %s\'s apple';
$ret = sprintf($format, $uid1, $uid2);
echo $ret; // Frank ate George's apple
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...