Перейти к контенту
  • 0

Информация о наличии фотографии в посте


Jax

Вопрос

В mlist есть информация о том, что у пользователя есть фотография в профиле, как можно вывести ее в пост юзера, рядом с icq, pm и так далее?

 

Спасибо.

Ссылка на комментарий
Поделиться на других сайтах

Рекомендуемые сообщения

  • 0
Нужно делать дополнительный JOIN при листании постов. Это означает замедление запроса, бОльшую нагрузку на мускул. Оно тебе надо ?
Ссылка на комментарий
Поделиться на других сайтах

  • 0

После

	$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

ээээххх.. :D "RTFM" бы тебе сказали на моём форуме !

 

список полей это то что между SELECT и FROM !

 

Когда ж мы перестанем уметь понимать модификации (готовые причём) только по лаже "найдём это, вставим это, добавим это" и будем учиться хотя бы начальному программированию ?

Ссылка на комментарий
Поделиться на других сайтах

  • 0

Song, ты жестокий человек :D

Я же не программист, чтобы знать даже элементарные понятия ;) Теперь знаю - спасибо.

 

Сделал, но у людей, у кого есть фото, в посте не отображается =\

Изменено пользователем Jax
Ссылка на комментарий
Поделиться на других сайтах

  • 0

а у мну вопрос, не лучше\быстрее\выгоднее (вроди как это БД напрягать не будет) использовать просто

if (file_exists("uploads/photo-".переменная_с_ийди_юзера.".gif"){

$poster['member_status'] = "uploads/photo-".переменная_с_ийди_юзера.".gif";

}

elseif (file_exists("uploads/photo-".переменная_с_ийди_юзера.".jpg"){

$poster['member_status'] = "uploads/photo-".переменная_с_ийди_юзера.".jpg";

}

 

:D

 

ну перед этим всем еще про

$poster['member_status'] ="";

не забыть ;)

Ссылка на комментарий
Поделиться на других сайтах

  • 0
Это не будет напрягать БД, зато будет напрягать файловую систему сервера. Представь сколько функций будет вызываться одновременно с разных потоков ? А ведь каждая функция будет вызывать аналогичную функцию ОС.
Ссылка на комментарий
Поделиться на других сайтах

  • 0
редставь сколько функций

а я не знаю - будет столько запросов сколько и постов на странице или столько сколько постов в теме ;)

 

хотя в принципе можно оптимизировать до "столько сколько людей отметившихся в теме (ну или на странице - опять же зависит от того как форум делает запрос , хотя вроди бы запрос на все посты темы, поэтому оптимизировать до кол-ва людей в теме)", не лучше будет чем доп. заптрос к БД :D ?

Изменено пользователем Mitos
Ссылка на комментарий
Поделиться на других сайтах

  • 0
а я не знаю - будет столько запросов сколько и постов на странице или столько сколько постов в теме

Смотря куда вставить. Возможен и тот и другой вариант.

Но это не главное.

Главное-то в том, что эта функция будет вызываться для каждого пользователя, "подключенного" к этому топику.

Поэтому возьми вот это число "столько запросов сколько и постов на странице или столько сколько постов в теме" и умножь на количество юзеров, "подключенных" к этому топику. Вот столько раз выполнится эта функция. Т.е. на каждый вызов.

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

 

2Jax:

Song, ты жестокий человек

Я же не программист, чтобы знать даже элементарные понятия

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

 

Сделал, но у людей, у кого есть фото, в посте не отображается =\

попробуй так:

IF (IsNULL(me.photo_location),'','{$ibforums->lang['photo_exists']}') as photo_location

вообще странно, по идее должно работать и в том и в другом варианте.

А в lang_topic случайно ты не забыл вставить текст ?

Ссылка на комментарий
Поделиться на других сайтах

  • 0
А в 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

тоже самое

 

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

Все, буду учиться теперь :) Не хочу больше никого расстраивать :D

Ссылка на комментарий
Поделиться на других сайтах

  • 0
Слово "Фото" теперь выводится в постах, НО оно выводится у всех и у каждого, даже у того, у кого фото не загружено =)
Ссылка на комментарий
Поделиться на других сайтах

Присоединиться к обсуждению

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

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить на вопрос...

×   Вы вставили отформатированный текст.   Удалить форматирование

  Допустимо не более 75 смайлов.

×   Ваша ссылка была автоматически заменена на медиа-контент.   Отображать как ссылку

×   Ваши публикации восстановлены.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Зарузка...
×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.