информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
Spanning Tree Protocol: недокументированное применениеСетевые кракеры и правда о деле ЛевинаВсе любят мед
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Бэкдор в xz/liblzma, предназначенный... 
 Три миллиона электронных замков... 
 Doom на газонокосилках 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / web building
Имя Пароль
ФОРУМ
если вы видите этот текст, отключите в настройках форума использование JavaScript
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
Точно, млин! Теперь въехал. Вот это я тупанул... ))) 10.08.10 20:55  Число просмотров: 2726
Автор: Fighter <Vladimir> Статус: Elderman
Отредактировано 10.08.10 20:58  Количество правок: 2
<"чистая" ссылка>
Не обратил внимание на '(SELECT * FROM tTable LIMIT '
Спасибо!
<web building>
Вопрос по PHP+SQL 09.08.10 14:09   [Fighter]
Автор: Fighter <Vladimir> Статус: Elderman
Отредактировано 09.08.10 14:10  Количество правок: 1
<"чистая" ссылка>
Наткнулся на хабре на пост "Выборка произвольных записей в MySQL" - http://habrahabr.ru/blogs/mysql/54176/ . Там приведен пример вот такого кода:
$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
<"чистая" ссылка>
Не обратил внимание на '(SELECT * FROM tTable LIMIT '
Спасибо!
1




Rambler's Top100
Рейтинг@Mail.ru


  Copyright © 2001-2024 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach