Alexander-V-Sh Опубликовано 25 июля, 2006 Жалоба Поделиться Опубликовано 25 июля, 2006 Имеется таблица для опросов. Нужно чтобы при каждом обновлении страницы и соотв. запросе выбирался случайный опрос из базы. У меня есть пример, но там делается 3 запроса в базу. Сперва запрашивается количество записей, потом еще запрос, где выбираются poll_id (но эти 2 запроса можно обьединить). Затем делается рандом для переменной, и запрос в таблицу, где poll_id=рандому. А нельзя ли как нибудь 1 запросом просто вытащить произвольную запись в таблице? Ссылка на комментарий Поделиться на другие сайты Поделиться
Ф@РТОВЫЙ Опубликовано 25 июля, 2006 Жалоба Поделиться Опубликовано 25 июля, 2006 Alexander-V-Sh: Можно количество опросов хранить в файле php и инклудить его: <?php$poll_count = 3;?> при выборе запроса данный фаил инклудишь, а при добовлении опроса - вычисляешь количество и обнавляешь данный фаил функцией fopen() Ссылка на комментарий Поделиться на другие сайты Поделиться
Dimon#ic Опубликовано 25 июля, 2006 Жалоба Поделиться Опубликовано 25 июля, 2006 SELECT что-то ORDER BY rand() LIMIT сколько-то Ссылка на комментарий Поделиться на другие сайты Поделиться
Alexander-V-Sh Опубликовано 25 июля, 2006 Автор Жалоба Поделиться Опубликовано 25 июля, 2006 Лорд Дмитрий: Dimon#ic: Спасибо Второй вариант интереснее. LIMIT я так понимаю можно же не писать, если вытаскивать из всех, какие там есть? SELECT что-то ORDER BY rand() Так тоже нормально работает. Сейчас проверил, вбил 5 опросов, чередует хорошо. Ссылка на комментарий Поделиться на другие сайты Поделиться
Dimon#ic Опубликовано 25 июля, 2006 Жалоба Поделиться Опубликовано 25 июля, 2006 Да, конечно, лимит не обязательный параметр. Успехофф Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Для публикации сообщений создайте учётную запись или авторизуйтесь
Вы должны быть пользователем, чтобы оставить комментарий
Создать учетную запись
Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!
Регистрация нового пользователяВойти
Уже есть аккаунт? Войти в систему.
Войти