![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Randomaize [D7]
mikola © (2004-07-07 13:50:00)Здравствуйте.
Подскажите пожайлуста как можно сделать так чтобы записи которые есть в базе показывались произвольным образом(тоесть типа Randomaze) и если например показалось 30 записей то показать сообщение.
Заранее спасибо.
Ratiborr (2004-07-08 12:58:00) [1]На сколько я понял, кол-во записей конечно. т.е. рано или поздно процесс выборки без повторений закончится. так? если так, то можно сделать след. в цикле: выдергиваешь рандомайзем записи, параллельно с этим ведешь список уже выдернутых записей. так вот, выдернул - проверил на вхождение в список уже выдернутых(не входит - попрет и сразу же обновляешь список выдернутых, входит - цикл дальше гоняешь). возможно есть способ рациональней. но это первое, что мне пришло в голову.
mikola (2004-07-08 12:45:00) [2]>>>>>>>>Ratiborr
А ты немогбы по подробнее рассказать о
>> чтобы не повторялись элементы, написать обработочку, когда random'ом пользуешься.
Ratiborr (2004-07-08 11:06:00) [3]Пришел как-то однажды Locate к Randomiz'у.......:)
Ratiborr (2004-07-08 10:47:00) [4]Можно создать новый набор данных:ид_записей, №записи_в_НД(тот же SELECT ;)). теперь можно использовать randomize(). получив №, можно перейти к самому идешнику. и сЁ. а чтобы не повторялись элементы, написать обработочку, когда random'ом пользуешься.
mikola (2004-07-08 08:19:00) [5]А можно как нибудь подсчитать количество записей в таблице, и потом просто делать переход по ним произвольным образом подставльть номер записи на которую нужно перейтий.
Блин есё надо чтобы показываемые записи неповторялись.
Sir John (2004-07-07 17:56:00) [6]для MySQL сие выглядит вот так:
SELECT * FROM table1,table2 WHERE a=b AND c<d ORDER BY RAND() LIMIT 1000
MySQL Reference Manual (C) 2002 MySQL AB
Sandman25 (2004-07-07 15:28:00) [7][3] miwa © (07.07.04 15:27)
Бывает, что отсортированы. Бывает, что если 5 раз пишем один и тот же select, то 5 раз получаем данные в одном и том же порядке.
miwa (2004-07-07 15:27:00) [8]Хм... Дайте подумаю... А разве записи из базы при использовании select'а как-то отсортированы? Что мешает просто показывать их в порядке получения?
Anatoly Podgoretsky (2004-07-07 14:01:00) [9]Написать наследника от TDataset
Курдль (2004-07-07 13:58:00) [10]У записей ID есть?
Да и вообще, самому лень, что ли, подумать? :(