Jax Опубликовано 26 Ноября 2005 Жалоба Поделиться Опубликовано 26 Ноября 2005 В mlist есть информация о том, что у пользователя есть фотография в профиле, как можно вывести ее в пост юзера, рядом с icq, pm и так далее? Спасибо. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
0 Song Опубликовано 26 Ноября 2005 Жалоба Поделиться Опубликовано 26 Ноября 2005 Нужно делать дополнительный JOIN при листании постов. Это означает замедление запроса, бОльшую нагрузку на мускул. Оно тебе надо ? Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
0 Jax Опубликовано 26 Ноября 2005 Автор Жалоба Поделиться Опубликовано 26 Ноября 2005 Song, ну, мне нет, не надо уже не надоПросто интересно, как технически реализовать. =) Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
0 Song Опубликовано 26 Ноября 2005 Жалоба Поделиться Опубликовано 26 Ноября 2005 После $query = "SELECT p.*, m.id, m.name, m.mgroup, m.avatar, m.avatar_size, m.posts, m.signature, m.integ_msg, m.title, m.warn_level, m.warn_lastwarn, m.rep, m.ratting, m.club_ratting, m.show_ratting, m.changed_nick, g.g_dohtml, g.g_is_supmod, g.g_id, g.g_title, g.g_icon, g.g_use_signature, g.g_use_avatar $join_get_fields FROM ibf_posts p LEFT JOIN ibf_members m ON (p.author_id=m.id)надо добавить LEFT JOIN ibf_member_extra me ON (me.id=m.id)В список полей запроса добавить IF (not IsNULL(me.photo_location),'{$ibforums->lang['photo_exists']}','') as photo_locationдобавить в ланг_файл желаемый языковой макрос и далее в скин_посте соответственно выводить $post['photo_location'] Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
0 Jax Опубликовано 26 Ноября 2005 Автор Жалоба Поделиться Опубликовано 26 Ноября 2005 Со всем остальным понятно, только:В список полей запроса добавитьЭто где? Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
0 Song Опубликовано 26 Ноября 2005 Жалоба Поделиться Опубликовано 26 Ноября 2005 ээээххх.. "RTFM" бы тебе сказали на моём форуме ! список полей это то что между SELECT и FROM ! Когда ж мы перестанем уметь понимать модификации (готовые причём) только по лаже "найдём это, вставим это, добавим это" и будем учиться хотя бы начальному программированию ? Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
0 Jax Опубликовано 26 Ноября 2005 Автор Жалоба Поделиться Опубликовано 26 Ноября 2005 (изменено) Song, ты жестокий человек Я же не программист, чтобы знать даже элементарные понятия Теперь знаю - спасибо. Сделал, но у людей, у кого есть фото, в посте не отображается =\ Изменено 26 Ноября 2005 пользователем Jax Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
0 Mitos Опубликовано 26 Ноября 2005 Жалоба Поделиться Опубликовано 26 Ноября 2005 а у мну вопрос, не лучше\быстрее\выгоднее (вроди как это БД напрягать не будет) использовать просто if (file_exists("uploads/photo-".переменная_с_ийди_юзера.".gif"){ $poster['member_status'] = "uploads/photo-".переменная_с_ийди_юзера.".gif"; } elseif (file_exists("uploads/photo-".переменная_с_ийди_юзера.".jpg"){ $poster['member_status'] = "uploads/photo-".переменная_с_ийди_юзера.".jpg"; } ну перед этим всем еще про $poster['member_status'] ="";не забыть Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
0 Song Опубликовано 26 Ноября 2005 Жалоба Поделиться Опубликовано 26 Ноября 2005 Это не будет напрягать БД, зато будет напрягать файловую систему сервера. Представь сколько функций будет вызываться одновременно с разных потоков ? А ведь каждая функция будет вызывать аналогичную функцию ОС. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
0 Mitos Опубликовано 26 Ноября 2005 Жалоба Поделиться Опубликовано 26 Ноября 2005 (изменено) редставь сколько функцийа я не знаю - будет столько запросов сколько и постов на странице или столько сколько постов в теме хотя в принципе можно оптимизировать до "столько сколько людей отметившихся в теме (ну или на странице - опять же зависит от того как форум делает запрос , хотя вроди бы запрос на все посты темы, поэтому оптимизировать до кол-ва людей в теме)", не лучше будет чем доп. заптрос к БД ? Изменено 26 Ноября 2005 пользователем Mitos Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
0 Song Опубликовано 26 Ноября 2005 Жалоба Поделиться Опубликовано 26 Ноября 2005 а я не знаю - будет столько запросов сколько и постов на странице или столько сколько постов в темеСмотря куда вставить. Возможен и тот и другой вариант.Но это не главное.Главное-то в том, что эта функция будет вызываться для каждого пользователя, "подключенного" к этому топику.Поэтому возьми вот это число "столько запросов сколько и постов на странице или столько сколько постов в теме" и умножь на количество юзеров, "подключенных" к этому топику. Вот столько раз выполнится эта функция. Т.е. на каждый вызов.Я не знаю реализации функции существования файла на юнихе, зато я знаю реализацию в винде, там для этого файл открывается. Возможно, в юнихе что-то похоже, и в любом случае это недопустимо, ну или на крайняк, если сервер свой. 2Jax:Song, ты жестокий человек Я же не программист, чтобы знать даже элементарные понятияЧто до программиста, он должен знать не только элементарные понятия. Ты не программист, да, но ты админ. И такую ерунду знать должен бы, имхо. Ты же постоянно работаешь с модификациями, наверно в каждой из них есть запросы. Даже, если ты их сам не делаешь, по идее уже мог быть знать что такое запрос, как он вообще может выглядеть, из каких частей состоять.. Тем более, если мне не изменяет память, ты уже как несколько лет этим занимаешься. Сделал, но у людей, у кого есть фото, в посте не отображается =\попробуй так:IF (IsNULL(me.photo_location),'','{$ibforums->lang['photo_exists']}') as photo_locationвообще странно, по идее должно работать и в том и в другом варианте.А в lang_topic случайно ты не забыл вставить текст ? Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
0 Jax Опубликовано 26 Ноября 2005 Автор Жалоба Поделиться Опубликовано 26 Ноября 2005 А в lang_topic случайно ты не забыл вставить текст ? Нет, не забыл. Вот, смотри:Хотя я не удивлюсь если опять сделал что-то не так.$DB->query( "SELECT p.*, m.id,m.name,m.mgroup,m.email,m.joined,m.avatar,m.avatar_size,m.posts,m.aim_ name,m.icq_number, m.signature, m.website,m.yahoo,m.title,m.hide_email,m.msnname, g.g_id, g.g_title, g.g_icon, g.g_dohtml, m.rep, g.prefix, g.suffix, IF (not IsNULL(me.photo_location),'{$ibforums->lang['photo_exists']}','') as photo_location FROM ibf_posts p LEFT JOIN ibf_members m ON (p.author_id=m.id) LEFT JOIN ibf_member_extra me ON (me.id=m.id) LEFT JOIN ibf_groups g ON (g.g_id=m.mgroup) WHERE p.topic_id='".$this->topic['tid']."' and p.queued !='1' ORDER BY p.pid LIMIT 0, 1"); Ну и с IF (IsNULL(me.photo_location),'','{$ibforums->lang['photo_exists']}') as photo_location тоже самое Что до программиста, он должен знать не только элементарные понятия. Ты не программист, да, но ты админ. И такую ерунду знать должен бы, имхо. Ты же постоянно работаешь с модификациями, наверно в каждой из них есть запросы. Даже, если ты их сам не делаешь, по идее уже мог быть знать что такое запрос, как он вообще может выглядеть, из каких частей состоять.. Тем более, если мне не изменяет память, ты уже как несколько лет этим занимаешься.Все, буду учиться теперь Не хочу больше никого расстраивать Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
0 Jax Опубликовано 29 Ноября 2005 Автор Жалоба Поделиться Опубликовано 29 Ноября 2005 Слово "Фото" теперь выводится в постах, НО оно выводится у всех и у каждого, даже у того, у кого фото не загружено =) Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
0 Song Опубликовано 30 Ноября 2005 Жалоба Поделиться Опубликовано 30 Ноября 2005 hands.sysимхо у меня всё путём.. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Вопрос
Jax
В mlist есть информация о том, что у пользователя есть фотография в профиле, как можно вывести ее в пост юзера, рядом с icq, pm и так далее?
Спасибо.
Ссылка на комментарий
Поделиться на других сайтах
13 ответов на этот вопрос
Рекомендуемые сообщения
Присоединиться к обсуждению
Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.