Pages 1
You must login or register to post a reply
Warning: count(): Parameter must be an array or an object that implements Countable in
/home/pasokime/domains/mysql.lt/public_html/forumas/include/parser.php on line
820
- From: Klaipėda
- Registered: 2006-10-31
- Posts: 432
Topic: Atsitiktinė eilutė iš DB
Atsiktinės eilutės traukimas iš DB:
SELECT
`article_cat`.`title` AS `ctitle`,
`articles`.`author`,
`articles`.`title`,
`articles`.`alias`,
`articles`.`description`,
`articles`.`cat_alias`
FROM
`article_cat`
Inner Join `articles` ON `article_cat`.`alias` = `articles`.`cat_alias`
JOIN (SELECT (CEIL(RAND() * (SELECT MAX(id) FROM articles))) AS id) AS r2
WHERE
`articles`.`visible` = 'Y' AND
`articles`.`id` = `r2`.`id`
LIMIT 0, 1
Gal įmanomas koks kitas būdas? Trumpesnis ir aiškesnis nes čia kad ir sukūriau surinkdamas viską iš dalių vistiek nelabai susigaudau kaip veikia :)
- minde
- Administrator
- Offline
- Registered: 2006-06-14
- Posts: 4,003
Re: Atsitiktinė eilutė iš DB
Tik netikrinau sintaksės ir smulkių klaidų ;)
SELECT `article_cat`.`title` AS `ctitle`,
`articles`.`author`,
`articles`.`title`,
`articles`.`alias`,
`articles`.`description`,
`articles`.`cat_alias`
FROM `article_cat`
INNER JOIN `articles` ON `article_cat`.`alias` = `articles`.`cat_alias`
WHERE `articles`.`visible` = 'Y'
ORDER BY RAND()
LIMIT 1
Pages 1
You must login or register to post a reply