Требуется помощь специалистов - Visavi.net
https://visavi.net/
RSS - Visavi.nethttps://visavi.net/assets/img/images/logo_small.pngRSS - Visavi.net
https://visavi.net/
[email protected] (admin)[email protected] (admin)Sat, 23 Nov 2024 19:34:24 +0300Не хватает лимитов и дальнейшей подгрузки при необходимости.
https://visavi.net/topics/44138/702833
Требуется помощь специалистов nickzakharevichSat, 02 Feb 2019 11:30:50 +0300Сообщенияhttps://visavi.net/topics/44138/702833<a href="/users/Vantuz">Вантуз-мен</a>, ну скинул
https://visavi.net/topics/44138/702823
Требуется помощь специалистов horoshinkin777Tue, 29 Jan 2019 16:14:43 +0300Сообщенияhttps://visavi.net/topics/44138/702823<a href="https://ibb.co/yY7ZT0F" target="_blank" rel="nofollow">dialog</a><br>
<br>
<em><span style="font-size:x-small">Добавлено через 02:07 сек.</span></em><br>
<a href="https://ibb.co/2FQsq2c" target="_blank" rel="nofollow">Сообщения</a><br>
<br>
<em><span style="font-size:x-small">Добавлено через 04:21 сек.</span></em><br>
Выборка диалогов <pre class="prettyprint">$query1 = mysqli_query($db, "SELECT u1, u2 FROM dialog WHERE u1 = '$my_id' OR u2 = '$my_id'");</pre>
<br>
Выборка сообщений <pre class="prettyprint">$query1 = mysqli_query($db, "SELECT otkogo, text FROM test WHERE did = '$did'");</pre>
<br>
<em><span style="font-size:x-small">Добавлено через 05:48 сек.</span></em><br>
Такой вариант наверно проще и лучше
https://visavi.net/topics/44138/702817
Требуется помощь специалистов horoshinkin777Tue, 29 Jan 2019 08:04:29 +0300Сообщенияhttps://visavi.net/topics/44138/702817переделал короче все. для диалогов сделал отдельную таблицу
https://visavi.net/topics/44138/702816
Требуется помощь специалистов horoshinkin777Tue, 29 Jan 2019 07:49:27 +0300Сообщенияhttps://visavi.net/topics/44138/702816Всё нормально. Чтобы быстрее работало ограничивай запросы лимитом. Догружай остальное при необходимости. Товарищ Хорошинкин777, всё уже придумано и реализовано не одну тысячу раз. И вывод на страницу должен быть в конце и единожды.
https://visavi.net/topics/44138/702813
Требуется помощь специалистов nickzakharevichTue, 29 Jan 2019 01:34:38 +0300Сообщенияhttps://visavi.net/topics/44138/702813<a href="/users/horoshinkin777">horoshinkin777</a>, скинь структуру пожалуйста таблицы, я дома потестирую
https://visavi.net/topics/44138/702807
Требуется помощь специалистов Вантуз-менMon, 28 Jan 2019 20:26:58 +0300Сообщенияhttps://visavi.net/topics/44138/702807<a href="/users/horoshinkin777">horoshinkin777</a>, тут другой вопрос... Когда из 1000000 сообщений тысяч 10 пользователей в один момент запрашивать свои диалоги будут, как оно будет?
https://visavi.net/topics/44138/702806
Требуется помощь специалистов ДенисMon, 28 Jan 2019 20:00:35 +0300Сообщенияhttps://visavi.net/topics/44138/702806<a href="/users/Vantuz">Вантуз-мен</a>, c моим кодом из 1000000 сообщений ищет диалоги в которых я учавствовал всего за 0.06 сек. Это разве плохо?
https://visavi.net/topics/44138/702805
Требуется помощь специалистов horoshinkin777Mon, 28 Jan 2019 18:34:38 +0300Сообщенияhttps://visavi.net/topics/44138/702805Explain
https://visavi.net/topics/44138/702804
Требуется помощь специалистов Вантуз-менMon, 28 Jan 2019 14:44:53 +0300Сообщенияhttps://visavi.net/topics/44138/702804<a href="/users/horoshinkin777">horoshinkin777</a>, я тебе уже говорил, что так не проектируют таблицы, у тебя очень много индексов будет, таблица не оптимальна, не нормализована<br>
если у тебя обычная переписка, то можно обойтись двумя полями user_id, author_id<br>
где user_id это мой id, а author_id - id отправителя<br>
теперь чтобы получить все переписки достаточно сделать составной индекс из 2-х полей<br>
Все переписки where user_id = 1<br>
все диалоги нужны группируй по author_id<br>
<br>
Если у тебя диалоги со множеством пользователей, нужно делать еще отдельную таблицу, типа dialogs<br>
<br>
а в messages добавить поле dialog_id <br>
и группировать по диалогам, <br>
в плане нормализации <a href="https://habr.com/ru/post/254773" target="_blank" rel="nofollow">https://habr.com/ru/post/254773</a> , вариант который я предложил с двумя участниками не прям уж очень правильный, но вполне оптимальный для работы<br>
<br>
а то что ты придумал, прости, но это только на помойку<br>
<br>
<em><span style="font-size:x-small">Добавлено через 07:07 сек.</span></em><br>
<pre class="prettyprint">select
*
from
`messages`
inner join
(
select
`author_id`,
max(created_at) as last_created_at
from
`messages`
where
`user_id` = 1
group by
`author_id`
)
as `latest_message`
on `messages`.`created_at` = `latest_message`.`last_created_at`
and messages.author_id = latest_message.author_id
where
`user_id` = 1
order by
`created_at` desc</pre>
Это список диалогов<br>
<br>
<em><span style="font-size:x-small">Добавлено через 07:59 сек.</span></em><br>
А это просмотр диалога<br>
<pre class="prettyprint">select * from `messages` where `user_id` = 1 and `author_id` = 2 order by `created_at` desc</pre>
https://visavi.net/topics/44138/702803
Требуется помощь специалистов Вантуз-менMon, 28 Jan 2019 14:33:32 +0300Сообщенияhttps://visavi.net/topics/44138/702803<a href="/users/ZiGR">ZiGR</a>, ниче не понял из твоих слов))
https://visavi.net/topics/44138/702801
Требуется помощь специалистов horoshinkin777Mon, 28 Jan 2019 05:07:25 +0300Сообщенияhttps://visavi.net/topics/44138/702801<a href="/users/horoshinkin777">horoshinkin777</a>, нет, не норм. MySQL - это реляционная СУБД. Тут ничем подобным не пахнет. Ещё и логины текстовые используются в каждой записи, да?<br>
<br>
Как минимум, физическую схему базы данных нужно посмотреть.<br>
И схеме приложить те функции, которые должны быть удовлетворены при помощи предлагаемой схемы.
https://visavi.net/topics/44138/702800
Требуется помощь специалистов ZiGRSun, 27 Jan 2019 20:48:22 +0300Сообщенияhttps://visavi.net/topics/44138/702800<a href="/users/Andrei4ik93">Андрей</a>, я их итак все могу вытащить. мне интересно этот скрипт норм?
https://visavi.net/topics/44138/702799
Требуется помощь специалистов horoshinkin777Sun, 27 Jan 2019 14:21:21 +0300Сообщенияhttps://visavi.net/topics/44138/702799типа если применить JOIN то вполне возможно вытащить все нужные запросы
https://visavi.net/topics/44138/702798
Требуется помощь специалистов АндрейSun, 27 Jan 2019 14:08:29 +0300Сообщенияhttps://visavi.net/topics/44138/702798<a href="/users/JiGaN">JiGaN</a>, ну если общаются 100 человек на сайте то чтобы узнать к какому диалогу отнести сообщение.<br>
в диалоге максимум 2 человека<br>
<br>
<em><span style="font-size:x-small">Добавлено через 03:36 сек.</span></em><br>
при отправке сообщения идет проверка есть ли диалог с таким юзером или нет. Если нет то создается новый один раз на все сообщения. если есть диалог то просто обновление метки времени диалога
https://visavi.net/topics/44138/702797
Требуется помощь специалистов horoshinkin777Sun, 27 Jan 2019 12:54:35 +0300Сообщенияhttps://visavi.net/topics/44138/702797