ОсновноеRadiotalkПользовательское
MPCHAT - CMS хостинг чатов для профессионалов
90   •   Посмотреть все темы

Друзья (или) Знакомы (или) еще кто то и т.д.

 

1007
BETEPAH @BETEPAH
Foggy пишет:

Зато было бы оч круто вводя ник, после первых 2-3 букв чтоб выводило снизу варианты подсказок, как в поиске на некоторых сайтах. Вероятно, аякс надо куда-то отсылать, но куда...

Варианта два: либо на /?inc=search, либо на /?inc=top100. Первый вариант будет более полным, но и тормознутее, так как надо отправлять запрос, получать ответ и разбирать его после каждого введенного символа. Второй ограничивается высшей тысячей из ТОПа, но можно сделать довольно шустрым с помощью **********

2970
удалён @Foggy
Топ-1000 это хорошо, но если в чате больше 1000 человек... последний в рейтинге, если сортировать по времени, просидел в чате 3 часа. Было бы странно упускать их. Было бы похоже на баг. Так что тогда надо пользоваться поиском.

1007
BETEPAH @BETEPAH
Foggy пишет:

Топ-1000 это хорошо, но если в чате больше 1000 человек... последний в рейтинге, если сортировать по времени, просидел в чате 3 часа. Было бы странно упускать их. Было бы похоже на баг. Так что тогда надо пользоваться поиском.

Если в чате больше 1000 человек, то на обработку javascript'ом результата поиска сервером будет уходить довольно значительное время, мне кажется. Особенно на первых символах ввода. Я попробую, но думаю, оптимальнее было бы делать это на сервере с помощью PHP и возвращать удобный ответ в json-объекте с массивом ников, подходящих под критерии поиска.
Кроме того, это могло бы быть полезно в форме регистрации для проверки существования вводимого ника налету.

20090
Dimitry @Dimitry
Затея мёртвая, такое делать нельзя, делать это надо на PHP с примыми запросами в базу...

1007
BETEPAH @BETEPAH
Dimitry пишет:

делать это надо на PHP с примыми запросами в базу...

Вот и я об этом же.
С PHP я не знаком, не знаю сильно ли это мудрёная задача. Может Дмитрий направит в платные заказы.
Нужен скрипт на PHP, который по введенным символам, проверял и возвращал массив ников.
В интернете есть примеры (**********, **********, ...), как это делается.
ajax в форме поиска пользователей можно отправлять, если символов введено не меньше двух, это должно сильно уменьшить ответный массив.
P.S. Одна только просьба, возвращать массив в json-формате, чтоб не надо было парсить страницу ответа.

Отредактировано BETEPAH - 26.10.2012
20090
Dimitry @Dimitry
json только в UTF8 работает...
на вместе еу я делал такой, вот правда я так и не понял для чего вам это надо)))
а по нагрузке это конечно нагрузкоёмкое дело из-за састых запросов к базе))

1007
BETEPAH @BETEPAH
Dimitry пишет:

на вместе еу я делал такой, вот правда я так и не понял для чего вам это надо)))

Возможные места применения:
1) форма регистрации. Запрос отправляется один раз по событию onchange на поле name="nick" или по submit'у формы, с целью оповещения, если такой ник уже занят в базе.
2) форма поиска пользователей. Цель - "живой поиск", пользователь начинает вводить ник и форма ему подсказывает, какие в базе есть варианты.
Запрос для уменьшения нагрузки можно кэшировать. Например, отправлять после второго введенного символа, сохранять в массив и дальше уже на клиенте фильтровать следующие символы. Если первые два символа изменились - направлять новый запрос и сохранять массив заново.
Введено: "og" - Из базы вернулся ответ: ["Foggy","Ogr","Komogg"]
Пользователь продолжает вводить: "ogg" - javascript'ом проверяем не изменились первые два символа и если нет на клиенте же отсеиваем неподходящие и оставляем ["Foggy","Komogg"]
Вроде не должно сильно загружать мощности.

Отредактировано BETEPAH - 26.10.2012
20090
Dimitry @Dimitry
при регистрации проверка должна быть в самом конце как только написали ник, правда для этого можно и обычным ажакс запросом проверить есть ли анкета пользователя с таким ником.
при поиске на вместе еу я делал поиск от 3х букв и запросы не чаще одного раза в секунду, + поиск делал от того что вводяят но с начала, т.е. из этого ["Foggy","Ogr","Komogg"] вывело бы только среднее, а у другого совпадение в середине и в конце, не к чему.

1007
BETEPAH @BETEPAH
Dimitry пишет:

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

В самом конце - это и есть onchange. Да, вариант с проверкой анкеты тоже годится, в принципе. Не подумал 😉
Dimitry пишет:

при поиске на вместе еу я делал поиск от 3х букв и запросы не чаще одного раза в секунду, + поиск делал от того что вводяят но с начала, т.е. из этого ["Foggy","Ogr","Komogg"] вывело бы только среднее, а у другого совпадение в середине и в конце, не к чему.

А зачем каждую секунду запросы слать? Получить один раз массив после двух введенных букв и пусть уже браузер пыхтит над дальнейшей фильтрацией по следующим буквам. Я попробовал в чате с чуть более 3000 зарегистрированных количество совпадений по двум буквам независимо от их местоположения в нике редко превышает 50-60 результатов.

20090
Dimitry @Dimitry
для чата согласен, так лучше будет и базу грузить не будет, для вместе еу это было не применимо...

2970
удалён @Foggy
Ну так мы только о чатах тут и говорим, вроде бы

1163
Денис @Анатолич
Foggy пишет:

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

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

Отредактировано Анатолич - 27.10.2012
2970
удалён @Foggy
Анатолич, это же твоя страница, тебе решать, что на ней будет, а чего не будет. С тем же успехом ты можешь написать его ник в поле О себе.

1163
Денис @Анатолич
Foggy пишет:

Анатолич, это же твоя страница, тебе решать, что на ней будет, а чего не будет. С тем же успехом ты можешь написать его ник в поле О себе.

Ссылку ты можешь и в закладки добавить. Это все фигня.
Я сейчас не про чат говорю. потому что никто не знает как это будет реализовано в чате и будет ли реализовано вообще.
Я говорю о соц сетях. Вроде функцию предполагается делать по их подобию.
В Соц сетях идет активная рассылка, по каждому поводу. Кто добавил фотку. Кто сменил аватарку. Кто что то написал. Рассылка идет именно друзьям.
И если владелец блога почти всегда заинтересован в максимальном количестве подписчиков.
То владелец странички в соц сети, может не хотеть, чтобы об обновлениях знали все кому не лень.
Например Петя домогается до Маши. Маша его удалила из друзей и хочет, чтобы как меньше поводов было у них для контакта, чтобы Петя не прибегал к ней на страничку, каждый раз когда она добавит фотки.
С Твиттером к своему стыду практически не знаком. Но как я понимаю это одна из разновидностей блога. Это все таки не соц сеть.

2970
1163
Денис @Анатолич

Вроде как идет обсуждение какой должна быть эта функция. В чате сейчас её вообще нет. Как варинт отталкиваться от опыта соц сетей. Сложно реалезуемо конечно, но эффективно и по опыту соц сетей удобно.
Не пойму в чем офтоп?

1007
BETEPAH @BETEPAH
Предлагаю назвать поле не "Друзья", а "Мне интересны..." и предмет спора исчезнет.

1390
Ванья @ВанькаRU
BETEPAH, Скорее Cимпатия к: ники.

Отредактировано ВанькаRU - 27.10.2012