![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| Predator199 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 412 Регистрация: 1.2.2012 Репутация: -3 Всего: -4 |
Суть такова:
-Всего 40 записей -Из них 20 записей (у которых поле app==1) -Нужно вывести 5 -В случайном порядке. Если значение поля app==1 ,выводим. Нужно вывести 5 записей. Дальше не могу придумать, как вывести случайные записи из этих 20. Код таков:
Как рандомно вывести 5 записей? Это сообщение отредактировал(а) Predator199 - 27.11.2012, 18:41 |
|||
|
||||
| skyboy |
|
|||
|
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 75 Всего: 260 |
перемешать вне цикла и вывести в цикле именно 5.
вариант 1: просто писать, но тормозит при средних объемах данных:
вариант 2: перемешивать на стороне РНР; вытянуть все, shuffle() и array_slice. вариант 3: перемешивать только id(ну, или как у тебя поле первичного ключа называется?), вытаскивать пять первых, затем запрашивать для этих id остальные поля. |
|||
|
||||
| Predator199 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 412 Регистрация: 1.2.2012 Репутация: -3 Всего: -4 |
Спасибо воспользовался shuffle().
Пришлось создавать массив из предыдущего цикла, добавлять еще 1 цикл +1 условие на количество выводимых результатов. Ну хоть без запросов к бд. Так как я сделал в 1 раз , это тот же процесс только еще запрос к бд. Можно еще упростить код, такой вопрос. После того как я перемешал массив, можно ли вывести все содержание массива без цикла? Это сообщение отредактировал(а) Predator199 - 27.11.2012, 20:31 |
|||
|
||||
| skyboy |
|
|||
|
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 75 Всего: 260 |
про array_slice не заметил? print_r вот только будет ли в том формате вывод тебе полезен — тот еще вопрос |
|||
|
||||
![]()
|
| Правила форума "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. |