$row_count = mysql_result(mysql_query('SELECT COUNT(*) FROM tTable;'), 0);
$query = array();
while (count($query) < 10) {
$query[] = '(SELECT * FROM tTable LIMIT '.rand(, $row_count).', 1)';
}
$query = implode(' UNION ', $query);
$res = mysql_query($query);
---
Никак не могу въехать, для чего нужны последние две строки, ведь 10 случайных записей уже выбрано. Нафига склеивать записи м/у собой строкой ' UNION ', а потом посылать результат как запрос в СУБД. Объясните, плз, а то на жаре мозги уже закипают )
Вот это:10.08.10 15:52 Автор: NKritsky <Nickolay A. Kritsky> Статус: Elderman
Вот это:
> while (count($query) < 10) { > $query[] = '(SELECT * FROM tTable LIMIT '.rand(, > $row_count).', 1)'; > } > $query = implode(' UNION ', $query);
просто составляет длинный запрос.
А вот это:
> $res = mysql_query($query);
его отправляет в sql за данными
> Никак не могу въехать, для чего нужны последние две строки, > ведь 10 случайных записей уже выбрано.
ничего не выбрано до строчки c mysql_query($query);
Точно, млин! Теперь въехал. Вот это я тупанул... )))10.08.10 20:55 Автор: Fighter <Vladimir> Статус: Elderman Отредактировано 10.08.10 20:58 Количество правок: 2