|
|
|
| Есть раздел на сайте - фотогалерея. Основан он на фотогалерее, которая описывается в книге "PHP 5 Практика создания web-сайта", толька слегка модифицирован под мои нужды.
Так вот возник вопрос - как сделать случайный вывод 1 любой фотки из этого раздела? Структура БД для раздела "фотогалерея" следущая:
--
-- Структура таблицы `photo`
--
CREATE TABLE `photo` (
`id_photo` int(11) NOT NULL auto_increment,
`name` tinytext NOT NULL,
`small` tinytext NOT NULL,
`big` tinytext NOT NULL,
`hide` enum('show','hide') NOT NULL default 'show',
`pos` int(11) NOT NULL default '0',
`id_catalog` int(11) NOT NULL default '0',
PRIMARY KEY (`id_photo`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251 AUTO_INCREMENT=1 ;
-- --------------------------------------------------------
--
-- Структура таблицы `photocat`
--
CREATE TABLE `photocat` (
`id_catalog` int(8) NOT NULL auto_increment,
`name` tinytext NOT NULL,
`description` tinytext NOT NULL,
`pos` smallint(3) NOT NULL default '0',
`hide` enum('show','hide') NOT NULL default 'show',
`id_parent` int(8) NOT NULL default '0',
PRIMARY KEY (`id_catalog`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251 AUTO_INCREMENT=1 ;
|
| |
|
|
|
|
|
|
|
для: Dizels
(04.09.2007 в 11:25)
| | Сначала делаешь запрос к таблице фоток, получаешь максимальный id_photo, потом делаешь $rand_id = rand(0, макс.число) и подставляешь в запрос, эту переменную.
Можно сделать в зависимости от часа (дня), типа фото часа
Если не разберешься пиши помогу | |
|
|
|
|
|
|
|
для: Dizels
(04.09.2007 в 11:25)
| | Для этого можно осуществить запрос (для первого раздела id_catalog = 1)
SELECT * FROM photo
WHERE id_catalog = 1
ORDER BY RAND()
LIMIT 1
|
| |
|
|
|