нужна помощь - Visavi.net https://visavi.net/ RSS - Visavi.net https://visavi.net/assets/img/images/logo_small.png RSS - Visavi.net https://visavi.net/ [email protected] (admin) [email protected] (admin) Thu, 25 Apr 2024 15:43:03 +0300 Я нашла рабочий вариант для меня, типо такое<br> SELECT * FROM (SELECT * FROM users ORDER BY rand() LIMIT 20) T1 ORDER BY name<br> <br> Мне нужно ORDER BY там можно сортировку настроить как я хотела<img src="https://visavi.net/uploads/stickers/smile.gif" alt="smile"> пепец 4 дня понадобилось, чтобы найти https://visavi.net/topics/43971/713577 нужна помощь vikamass Wed, 22 Nov 2023 20:55:35 +0300 Сообщения https://visavi.net/topics/43971/713577 <a href="/users/vikamass">vikamass</a>, <span style="color:#ff0000">Ошибка в SQL-запросе</span>: выражение <strong>ORDER BY RAND() AND published=&#039;available&#039; AND top=&#039;available&#039; AND secure=&#039;yes&#039; DESC</strong> некорректно сформулировано. Вы используете<strong> AND</strong> внутри <strong>ORDER BY</strong>, что не допустимо. Допустимо использовать <strong>ORDER BY</strong> с атрибутами сортировки, но в вашем случае они должны быть частью <strong>WHERE</strong> или <strong>HAVING</strong> предложения.<br> <br> <em><span style="font-size:x-small">Добавлено через 06:14 сек.</span></em><br> <pre class="prettyprint">$e1 = &quot;SELECT * FROM questionnaires WHERE published=&#039;available&#039; AND top=&#039;available&#039; AND secure=&#039;yes&#039; ORDER BY RAND() DESC&quot;; $e2 = mysql_query($e1); while ($e3 = mysql_fetch_array($e2)) { echo $e3&#91;&#039;id&#039;] . &quot;&lt;br&gt;&quot;; }</pre> <br> Изменились следующие вещи:<br> 1) Перемещены условия <strong>(published=&#039;available&#039;, top=&#039;available&#039;, secure=&#039;yes&#039;)</strong> в блок <strong>WHERE</strong> запроса, чтобы фильтровать результаты.<br> 2) Изменён порядок элементов в запросе: сначала фильтры, затем <strong>ORDER BY RAND() DESC</strong> для случайной сортировки.<br> 3) Используется <strong>$e3[&#039;id&#039;]</strong> вместо <strong>&quot;$e3[id]&quot;</strong> для обращения к столбцу<strong> id</strong>.<br> <br> P.s GPT https://visavi.net/topics/43971/713576 нужна помощь Александр Wed, 22 Nov 2023 20:19:52 +0300 Сообщения https://visavi.net/topics/43971/713576 <a href="/users/Vantuz">Вантуз-мен</a>, ЕЩЁ РАЗ ГОВОРЮ!!!! МНЕ НАДО ЧТОБЫ БЫЛО ПОЛОЖЕНИЕ ПОРЯДКА МЕНЯЛСЯ ПОСЛЕ ОБНОВЛЕНИЯ!!!!!!!! https://visavi.net/topics/43971/713575 нужна помощь vikamass Wed, 22 Nov 2023 15:10:35 +0300 Сообщения https://visavi.net/topics/43971/713575 <a href="/users/vikamass">vikamass</a>, у меня такое ощущение, что ты постоянно рофлишь<br> Если перечитать твои сообщения, то ты сперва писала, что тебе нужно упорядочить, а в итоге наоборот https://visavi.net/topics/43971/713574 нужна помощь Вантуз-мен Wed, 22 Nov 2023 13:40:14 +0300 Сообщения https://visavi.net/topics/43971/713574 <a href="/users/dpein">Александр</a>, спасибо получилось, но когда пытаюсь добавить, не работает. https://visavi.net/topics/43971/713573 нужна помощь vikamass Wed, 22 Nov 2023 13:06:56 +0300 Сообщения https://visavi.net/topics/43971/713573 Вы можете использовать функцию <strong>ORDER BY RAND()</strong> в запросе <strong>SELECT</strong>, чтобы получить результаты в случайном порядке при каждом обновлении страницы.<br> <br> Пример запроса:<br> <pre class="prettyprint">SELECT * FROM table_name ORDER BY RAND();</pre> <br> Этот запрос выбирает все строки из таблицы &quot;<em>table_name</em>&quot; и сортирует результаты в случайном порядке. При каждом обновлении страницы вы получите разные результаты.<br> P.s GPT https://visavi.net/topics/43971/713569 нужна помощь Александр Wed, 22 Nov 2023 04:09:46 +0300 Сообщения https://visavi.net/topics/43971/713569 Порядок постоянно меняется id https://visavi.net/topics/43971/713568 нужна помощь vikamass Wed, 22 Nov 2023 01:16:30 +0300 Сообщения https://visavi.net/topics/43971/713568 Что это? О чем ты, что такое разноброс? https://visavi.net/topics/43971/713567 нужна помощь Вантуз-мен Wed, 22 Nov 2023 00:48:05 +0300 Сообщения https://visavi.net/topics/43971/713567 <a href="/users/Vantuz">Вантуз-мен</a>, я не вижу как разнаброс https://visavi.net/topics/43971/713566 нужна помощь vikamass Wed, 22 Nov 2023 00:38:18 +0300 Сообщения https://visavi.net/topics/43971/713566 В твоём случае решить проблему можно просто добавив order by id к запросу https://visavi.net/topics/43971/713564 нужна помощь Вантуз-мен Tue, 21 Nov 2023 22:52:08 +0300 Сообщения https://visavi.net/topics/43971/713564 <a href="/users/Vantuz">Вантуз-мен</a>, ни чего у меня не получается, пойдём с другой стороны к примеру интернет магазине постоянно меняется расположение товаров, как этого добиться<img src="https://visavi.net/uploads/stickers/smile.gif" alt="smile"> https://visavi.net/topics/43971/713563 нужна помощь vikamass Tue, 21 Nov 2023 22:37:50 +0300 Сообщения https://visavi.net/topics/43971/713563 <a href="/users/ZipeR">ZipeR</a>, <br> Для решения вашей задачи вы можете использовать запросы SQL с использованием операторов IN и JOIN. Давайте рассмотрим каждый этап вашего запроса.<br> <br> Выборка записей, где значение value соответствует одному из элементов массива:<br> <pre class="prettyprint">$values = implode(&quot;&#039;,&#039;&quot;, $arr); $query = &quot;SELECT title FROM $table WHERE value IN (&#039;$values&#039;)&quot;; // Выполнение запроса и обработка результатов</pre> Здесь мы используем функцию implode для объединения элементов массива в строку и подставляем их в оператор IN запроса.<br> <br> Вывод данных, когда значение value равно последнему элементу массива, включая дополнительные поля:<pre class="prettyprint">$lastValue = end($arr); // Получаем последний элемент массива $query = &quot;SELECT title, description FROM $table WHERE value = &#039;$lastValue&#039;&quot;; // Выполнение запроса и обработка результатов </pre> Здесь мы используем функцию end для получения последнего элемента массива и включаем соответствующие поля в запросе.<br> <br> Вывод данных, когда значение value и значение родителя соответствуют значениям предыдущего элемента массива:<br> <br> Для этого вам нужно использовать оператор JOIN для объединения таблицы с самой собой (self-join). Предположим, у вас есть поле parent_id, которое указывает на родительский элемент:<pre class="prettyprint">$previousValue = null; foreach ($arr as $value) { $query = &quot;SELECT t1.title, t1.description FROM $table t1 JOIN $table t2 ON t1.parent_id = t2.id WHERE t1.value = &#039;$value&#039; AND t2.value = &#039;$previousValue&#039;&quot;; // Выполнение запроса и обработка результатов $previousValue = $value; } </pre> Здесь мы используем JOIN для объединения таблицы с самой собой по условию, что parent_id равен id предыдущей записи, и фильтруем по значениям из массива. https://visavi.net/topics/43971/713559 нужна помощь Роман Лабойко Mon, 20 Nov 2023 09:44:18 +0300 Сообщения https://visavi.net/topics/43971/713559 А можно сделать так, чтобы постоянно менялось расположение<img src="https://visavi.net/uploads/stickers/smile.gif" alt="smile"> https://visavi.net/topics/43971/713542 нужна помощь vikamass Thu, 16 Nov 2023 23:33:21 +0300 Сообщения https://visavi.net/topics/43971/713542 <a href="/users/vikamass">vikamass</a>, <pre class="prettyprint">UPDATE worksheet SET list = id;</pre> это всем твоим записям присвоит такой же номер как id<br> а потом уже можешь изменить порядок какой тебе надо<br> <br> А для новых записей зависит через что ты добавляешь их<br> можно создать триггер <br> <pre class="prettyprint">CREATE TRIGGER new_trigger AFTER INSERT ON worksheet ... итд</pre> <br> или делать вставки через orm что-то типа<br> <pre class="prettyprint">INSERT INTO worksheet( list, ...) VALUES ((SELECT MAX( list )+1 FROM worksheet) , ...)</pre> но это менее надежно<br> <br> ну или заполняй вручную при вставке https://visavi.net/topics/43971/713541 нужна помощь Вантуз-мен Wed, 15 Nov 2023 23:57:12 +0300 Сообщения https://visavi.net/topics/43971/713541 <a href="/users/Vantuz">Вантуз-мен</a>, я не сильна в терминах<img src="https://visavi.net/uploads/stickers/smile.gif" alt="smile"><br> <br> <em><span style="font-size:x-small">Добавлено через 07:22 сек.</span></em><br> <a href="/users/dpein">Александр</a>, спасибо но я не умею это вставлять, очень трудно для меня., на скрине покажу наглядно https://visavi.net/topics/43971/713540 нужна помощь vikamass Wed, 15 Nov 2023 21:50:38 +0300 Сообщения https://visavi.net/topics/43971/713540