Главная Новые темы Список тем Задать вопрос Поиск  

Форум "Web-мастер" (архив)


Технологии web-програмирования


 #0  Immitator © 22.06.05 11:37:10 - 20.03.06 13:40:48

Выборка



Есть БД MySql в ней есть таблица, подскажите каким образом сделать выборку n элементов из базы? Цитата

 #1  Immitator © 22.06.05 11:39:26

в догонку выборку надо делать случайным образом из существующих записей...
 #2 Nikolay © 22.06.05 11:55:04

limit
 #3  Immitator © 22.06.05 12:07:10

>#2 Nikolay ©  случайным образом
 #4 deep © 22.06.05 12:47:41

делаешь выборокe, в которой в условии указано n штук id созданые  рандомической функцией в интервале от 0 до max(id).
1) узнаем max(id)
2)генерим нужное количество id
3)создаем скрипт выборки

еще ньюанс, сгенерированного id в базе например может не быть(если например разрешено удалять из этой таблицы), потому если выборка вернет меньше строк, ее можно повторить и оттуда взять недостающее количество
 #5  Immitator © 22.06.05 17:09:24

> генерим нужное количество id допустим это константа = 3  мне надо три записи выбирать...

> id созданые  рандомической функцией в интервале от 0 до max(id) как это сделать?
 #6 deep © 22.06.05 18:38:41

надеюсь, как написать цикл от 1 до 3 тебе подсказывать не нужно?  



//определим максимальный код
$result = mysql_query(
    'SELECT MAX(msg_id)  msg_id_max
    FROM msg');

$row = mysql_fetch_array($result);

mt_srand((double)microtime()*1000000);      
$rand_id = mt_rand() % $row[msg_id_max];


//делаем выборку
$result = mysql_query(
    'SELECT *
    FROM msg
    WHERE msg_id = '.$rand_id );

 #7 VictorT © 20.03.06 13:40:48

есть ещё такая штука, как order by rand(), но пользоваться нужно осторожно, может значительно нагружать сервер.




  • Тема находится в архиве

    Написать ответ

    Имя: Регистрация HTML?
    smiles смайлики
    Потом перейти в:    
    паутина



      ©  webest.net, 2002-2007  

    top.mail.ru
    » Бесплатный счетчик посещений
    » Рейтинг сайтов