![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| sayber |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 231 Регистрация: 30.7.2006 Где: Moscow - qwerty Репутация: нет Всего: нет |
Попробую изложить суть дела: Есть таблица такого вида: http://gameru.su/s.sql Как видите в данных есть одинаковые категории (scat) которые повторяются 4 раза. Надо все это дело вывести в 14 дивов но в каждом диве только одна запись которая выберется рандомно из 4 одинаковых. К примеру: див1 = sid(2)scat(1) див2 = sid(5)scat(2) .... до 14 --------------------
~~~~~~~~~~~~~~~~~~~~~~~~~~~WoW CafeSayber © Портфолио ~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
|||
|
||||
| MoLeX |
|
|||
![]() Местный пингвин ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 4076 Регистрация: 17.5.2007 Репутация: 46 Всего: 140 |
и что надо то? выбрать записи рандомно из БД?
-------------------- Amazing |
|||
|
||||
| sayber |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 231 Регистрация: 30.7.2006 Где: Moscow - qwerty Репутация: нет Всего: нет |
MoLeX,
Почти. выбераем все записи, ищем где одинаковые scat (категории), рандомно выбераем одну запись из одинаковых и сортируем по 14 записей (которые получились после рандома) по 14 дивам. --------------------
~~~~~~~~~~~~~~~~~~~~~~~~~~~WoW CafeSayber © Портфолио ~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
|||
|
||||
| sayber |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 231 Регистрация: 30.7.2006 Где: Moscow - qwerty Репутация: нет Всего: нет |
хм.. не кто не поможет?
--------------------
~~~~~~~~~~~~~~~~~~~~~~~~~~~WoW CafeSayber © Портфолио ~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
|||
|
||||
| bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 71 Всего: 315 |
да непонятно в чём проблема?
выбрать из БД можешь? затем перебрать все значения и записать в массив повторяемые. потом оценить вес массива count($a); и выбрать случайный номер: rand(0, (count($a) - 1)); затем на вывод |
|||
|
||||
| sayber |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 231 Регистрация: 30.7.2006 Где: Moscow - qwerty Репутация: нет Всего: нет |
Вот тут то и проблема для меня. --------------------
~~~~~~~~~~~~~~~~~~~~~~~~~~~WoW CafeSayber © Портфолио ~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
|||
|
||||
| bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 71 Всего: 315 |
ну, стало быть получили массив вида:
$r[$i] = array('sid' => 1, 'scat' => 1, ....);
Добавлено через 42 секунды можно конечно совместить с выборкой из БД, будет экономичней |
|||
|
||||
| unicross |
|
||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 422 Регистрация: 15.6.2008 Репутация: 21 Всего: 53 |
sayber, попробуйте так:
или если не жалко сделать 13 запросов к базе данных
Не забудьте заменить данные для подключения и кодировку. |
||||
|
|||||
| sayber |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 231 Регистрация: 30.7.2006 Где: Moscow - qwerty Репутация: нет Всего: нет |
Спасибо, буду пробовать.
Вопрос пока не снят. Как что, напишу. --------------------
~~~~~~~~~~~~~~~~~~~~~~~~~~~WoW CafeSayber © Портфолио ~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
|||
|
||||
| Валерия |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 598 Регистрация: 10.3.2007 Репутация: 3 Всего: 8 |
А не проще
такое добавить в запрос? |
|||
|
||||
| sayber |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 231 Регистрация: 30.7.2006 Где: Moscow - qwerty Репутация: нет Всего: нет |
Валерия, нет
--------------------
~~~~~~~~~~~~~~~~~~~~~~~~~~~WoW CafeSayber © Портфолио ~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
|||
|
||||
| HackMan |
|
|||
|
Юзверь-программист ![]() ![]() Профиль Группа: Участник Сообщений: 391 Регистрация: 18.6.2005 Где: .ua Репутация: 8 Всего: 9 |
Да и вообще, "ORDER BY RAND()" вещь хорошая, но жутко тормознутая. Следует это учитывать.
-------------------- Завтра - это самый загруженный день недели ![]() ![]() |
|||
|
||||
| MoLeX |
|
|||
![]() Местный пингвин ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 4076 Регистрация: 17.5.2007 Репутация: 46 Всего: 140 |
-------------------- Amazing |
|||
|
||||
| sayber |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 231 Регистрация: 30.7.2006 Где: Moscow - qwerty Репутация: нет Всего: нет |
MoLeX,
Согласен. Как раз их я и пытаюсь избежать. А то на сайте и так свыше 60 запросов. --------------------
~~~~~~~~~~~~~~~~~~~~~~~~~~~WoW CafeSayber © Портфолио ~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
|||
|
||||
| MoLeX |
|
|||
![]() Местный пингвин ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 4076 Регистрация: 17.5.2007 Репутация: 46 Всего: 140 |
так что получаем все в массив и манипулируем с ним. т.е. выложи получившийся массив и как должно это выглядит
-------------------- Amazing |
|||
|
||||
![]()
|
| Правила форума "PHP" | |
|
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |