|
|
|
| Добрый день
Необходима помощь со следующими запросами:
1. Суть - обзорная страница с одной случайной картинкой на категорию. Вывод случайной картинки реализовать не смог, что посоветуете?
$result=dbquery(
"SELECT COUNT(bg_id) AS bg_count, bg_url, bg_id, bg_cat_id, bg_cat_name
FROM bg, bg_cat WHERE bg_cat=bg_cat_id GROUP BY bg_cat_id"
);
2. Суть - вывод картинок из опред. категории которые отвечают двум требованиям:
1). Картинка открыта для общего обозрения
2). Картинка закрыта для общего обозрения, за исключением поподания пользователя в список избраных. (Список имеет вид 5.18.26.)
Два запроса писать желания нет, да и нагрузка возрастет:
$result = dbquery("SELECT bg_id, bg_url, bg_status, bg_for FROM bg WHERE bg_cat='$cat'");
if (bg_status=1) ... проверка
Что посоветуете? | |
|
|
|
|
|
|
|
для: vitaleks
(30.08.2009 в 15:58)
| | 1) Для вывода записей в случайном порядке используется конструкция ORDER BY RAND()
SELECT COUNT(bg_id) AS bg_count, bg_url, bg_id, bg_cat_id, bg_cat_name
FROM bg, bg_cat WHERE bg_cat=bg_cat_id
GROUP BY bg_cat_id
ORDER BY RAND()
|
| |
|
|
|
|
|
|
|
для: cheops
(30.08.2009 в 16:02)
| | 1. Пробывал, начинают перемешиваться категории | |
|
|
|
|
|
|
|
для: vitaleks
(30.08.2009 в 15:58)
| | 2. Отсортируйте записи по полю bg_status с последующим разбиением массива на двое
SELECT bg_id, bg_url, bg_status, bg_for
FROM bg
WHERE bg_cat='$cat'
ORDER BY bg_status
|
| |
|
|
|
|
|
|
|
для: cheops
(30.08.2009 в 16:04)
| | 2. Решил проблему изменив WHERE bg_cat='$cat' AND (bg_status='1' OR ( bg_status='2' AND bg_for LIKE '%.".$user['id'].".%' )) работает как часы.
1. У кого какие предложения? Как рандромить именно bg_id? | |
|
|
|