Требуется помощь специалистов - Visavi.net https://visavi.net/ RSS - Visavi.net https://visavi.net/assets/img/images/logo_small.png RSS - Visavi.net https://visavi.net/ admin@visavi.net (admin) admin@visavi.net (admin) Sun, 19 Sep 2021 20:47:42 +0300 Не хватает лимитов и дальнейшей подгрузки при необходимости. https://visavi.net/topics/44138/702833 Требуется помощь специалистов nickzakharevich Sat, 02 Feb 2019 11:30:50 +0300 Сообщения https://visavi.net/topics/44138/702833 <a href="/users/Vantuz">Вантуз-мен</a>, ну скинул https://visavi.net/topics/44138/702823 Требуется помощь специалистов horoshinkin777 Tue, 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 linenums pre-scrollable">$query1 = mysqli_query($db, &quot;SELECT u1, u2 FROM dialog WHERE u1 = &#039;$my_id&#039; OR u2 = &#039;$my_id&#039;&quot;);</pre> <br> Выборка сообщений <pre class="prettyprint linenums pre-scrollable">$query1 = mysqli_query($db, &quot;SELECT otkogo, text FROM test WHERE did = &#039;$did&#039;&quot;);</pre> <br> <em><span style="font-size:x-small">Добавлено через 05:48 сек.</span></em><br> Такой вариант наверно проще и лучше https://visavi.net/topics/44138/702817 Требуется помощь специалистов horoshinkin777 Tue, 29 Jan 2019 08:04:29 +0300 Сообщения https://visavi.net/topics/44138/702817 переделал короче все. для диалогов сделал отдельную таблицу https://visavi.net/topics/44138/702816 Требуется помощь специалистов horoshinkin777 Tue, 29 Jan 2019 07:49:27 +0300 Сообщения https://visavi.net/topics/44138/702816 Всё нормально. Чтобы быстрее работало ограничивай запросы лимитом. Догружай остальное при необходимости. Товарищ Хорошинкин777, всё уже придумано и реализовано не одну тысячу раз. И вывод на страницу должен быть в конце и единожды. https://visavi.net/topics/44138/702813 Требуется помощь специалистов nickzakharevich Tue, 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 Требуется помощь специалистов horoshinkin777 Mon, 28 Jan 2019 18:34:38 +0300 Сообщения https://visavi.net/topics/44138/702805 Explain 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 linenums pre-scrollable">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 linenums pre-scrollable">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 Требуется помощь специалистов horoshinkin777 Mon, 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 Требуется помощь специалистов ZiGR Sun, 27 Jan 2019 20:48:22 +0300 Сообщения https://visavi.net/topics/44138/702800 <a href="/users/Andrei4ik93">Андрей</a>, я их итак все могу вытащить. мне интересно этот скрипт норм? https://visavi.net/topics/44138/702799 Требуется помощь специалистов horoshinkin777 Sun, 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 Требуется помощь специалистов horoshinkin777 Sun, 27 Jan 2019 12:54:35 +0300 Сообщения https://visavi.net/topics/44138/702797