Нет, запрос там как раз тот что надо (хотя упростить можно, согласен), главный недостаток это то что мод не работает с базами PostgreSQL и Oracle мод надо доработать...там злой неоптимизированный запрос
Уважаемые пользователи!
В версии phpBB 3.3.13 обнаружены ошибки при использовании функции поиска по конференции.
Обсуждение проблемы и ее решения здесь Re: Вышел phpBB 3.3.13 [обсуждаем].
В связи с этим, не рекомендуется установка и обновление до phpBB 3.3.13.
Ошибка будет устранена разработчиками в версии phpBB 3.3.14.
Скачать предыдущую версию - phpBB 3.3.12 - можно здесь.
В версии phpBB 3.3.13 обнаружены ошибки при использовании функции поиска по конференции.
Обсуждение проблемы и ее решения здесь Re: Вышел phpBB 3.3.13 [обсуждаем].
В связи с этим, не рекомендуется установка и обновление до phpBB 3.3.13.
Ошибка будет устранена разработчиками в версии phpBB 3.3.14.
Скачать предыдущую версию - phpBB 3.3.12 - можно здесь.
Уважаемые пользователи!
C 7 ноября 2020 года phpBB Group прекратила выпуск обновлений и завершила дальнейшее развитие phpBB версии 3.2.
С 1 августа 2024 года phpBB Group прекращает поддержку phpBB 3.2 на официальном сайте.
Сайт официальной русской поддержки phpBB Guru продолжит поддержку phpBB 3.2 до 31 декабря 2024 года.
С учетом этого, настоятельно рекомендуется обновить конференции до версии 3.3.
C 7 ноября 2020 года phpBB Group прекратила выпуск обновлений и завершила дальнейшее развитие phpBB версии 3.2.
С 1 августа 2024 года phpBB Group прекращает поддержку phpBB 3.2 на официальном сайте.
Сайт официальной русской поддержки phpBB Guru продолжит поддержку phpBB 3.2 до 31 декабря 2024 года.
С учетом этого, настоятельно рекомендуется обновить конференции до версии 3.3.
Last Forum Topic On Index
-
- Former team member
- Сообщения: 816
- Стаж: 20 лет 5 месяцев
- Откуда: Estonia, Tallinn
Серый цвет - светлый (светлее чёрного), но он и тёмный (темнее белого), он же промежуточный (между чёрным и белым). Теорию относительности никто не отменял. Истина в целом - понятие виртуально-ситуативное.
-
- phpBB 1.4.4
- Сообщения: 103
- Стаж: 20 лет 3 месяца
-
- phpBB Guru
- Сообщения: 5484
- Стаж: 20 лет 6 месяцев
- Поблагодарили: 2 раза
-
- phpBB 1.4.4
- Сообщения: 103
- Стаж: 20 лет 3 месяца
Xpert, при условии, что в качестве БД пользуются PostgeSQL версии 8 или Oracle версии не ниже 9 можно выкинуть все танцы с бубном вокруг "switch(SQL_LAYER)"
Код: Выделить всё
//
// Define appropriate SQL
//
$sql = "SELECT f.*, p.post_time, p.post_username, u.username, u.user_id, t.topic_title, t.topic_id
FROM " . FORUMS_TABLE . " f
LEFT JOIN " . POSTS_TABLE . " p ON p.post_id = f.forum_last_post_id
LEFT JOIN " . USERS_TABLE . " u ON u.user_id = p.poster_id
LEFT JOIN " . TOPICS_TABLE . " t ON t.topic_id = p.topic_id
ORDER BY f.cat_id, f.forum_order";
// romutis
-
- phpBB Guru
- Сообщения: 5484
- Стаж: 20 лет 6 месяцев
- Поблагодарили: 2 раза
-
- phpBB 1.4.4
- Сообщения: 103
- Стаж: 20 лет 3 месяца
Кстати, на поддержку Оракла я бы сильно не налегал - phpBB не поддерживает Оракл официально. Тот код, что есть в SQL_LAYER для Оракла официально поддерживаемым кодом назвать нельзя при всём желании.
Когда-то давно (года два или больше назад) я даже вволю подискутировал на эту тему на оффсайте.
Добавлено спустя 3 минуты 5 секунд:
Для Оракла этот запрос будет выглядеть так:
Когда-то давно (года два или больше назад) я даже вволю подискутировал на эту тему на оффсайте.
Добавлено спустя 3 минуты 5 секунд:
Тогда надо тра... (мучаться) с проблемой бэкпортинга.Xpert писал(а):romutis, а если нет? И версии ниже?
Для Оракла этот запрос будет выглядеть так:
Код: Выделить всё
$sql = "SELECT f.*, p.post_time, p.post_username, u.username, u.user_id, t.topic_title, t.topic_id
FROM " . FORUMS_TABLE . " f, " . POSTS_TABLE . " p, " . USERS_TABLE . " u, " . TOPICS_TABLE . " t
WHERE p.post_id = f.forum_last_post_id(+)
AND u.user_id = p.poster_id(+)
AND p.topic_id = t.topic_id(+)
ORDER BY f.cat_id, f.forum_order";
Последний раз редактировалось romutis 01.02.2005 20:10, всего редактировалось 1 раз.
// romutis
-
- phpBB Guru
- Сообщения: 5484
- Стаж: 20 лет 6 месяцев
- Поблагодарили: 2 раза
-
- Former team member
- Сообщения: 816
- Стаж: 20 лет 5 месяцев
- Откуда: Estonia, Tallinn
Для оракла код должен выглядеть так...
Даже если это не официально то это не важно, важно то что если работает оригинальный запрос, то будет работать и этот, а что касается PostgreSQL тут я не могу сейчас сказать, но там тоже не особо сложно подправить
Код: Выделить всё
case 'oracle':
$sql = "SELECT f.*, p.post_time, p.post_username, u.username, u.user_id , t.topic_title, t.topic_id
FROM " . FORUMS_TABLE . " f, " . POSTS_TABLE . " p, " . USERS_TABLE . " u, " . TOPICS_TABLE . " t
WHERE p.post_id = f.forum_last_post_id(+)
AND u.user_id = p.poster_id(+)
AND p.topic_id = t.topic_id(+)
ORDER BY f.cat_id, f.forum_order";
break;
Последний раз редактировалось Vladson 02.02.2005 17:02, всего редактировалось 1 раз.
Серый цвет - светлый (светлее чёрного), но он и тёмный (темнее белого), он же промежуточный (между чёрным и белым). Теорию относительности никто не отменял. Истина в целом - понятие виртуально-ситуативное.
-
- phpBB 1.4.4
- Сообщения: 103
- Стаж: 20 лет 3 месяца
-
- Former team member
- Сообщения: 816
- Стаж: 20 лет 5 месяцев
- Откуда: Estonia, Tallinn
Не понял твою фразу про "Даже если это не официально то это не важно". Что неофициально? Что неважно?
phpBB не поддерживает Оракл официально
Так понятнее ?Даже если это не официально то это не важно
Серый цвет - светлый (светлее чёрного), но он и тёмный (темнее белого), он же промежуточный (между чёрным и белым). Теорию относительности никто не отменял. Истина в целом - понятие виртуально-ситуативное.
-
- phpBB 1.4.4
- Сообщения: 103
- Стаж: 20 лет 3 месяца
-
- Former team member
- Сообщения: 816
- Стаж: 20 лет 5 месяцев
- Откуда: Estonia, Tallinn
romutisХотя если кто-то решился взгромоздить форум на Оракл, то уж селекты переписать и оптимизировать он точно догадается
мод всё равно должен быть написан правильно и работать при тех условиях при которых работает оригинальный продукт
Серый цвет - светлый (светлее чёрного), но он и тёмный (темнее белого), он же промежуточный (между чёрным и белым). Теорию относительности никто не отменял. Истина в целом - понятие виртуально-ситуативное.
-
- phpBB 1.0.0
- Сообщения: 2
- Стаж: 19 лет 8 месяцев
А пример?
Я не программист, поэтому в уме компилировать не умею.
Есть возможность этот МОД где-нибудь в работе увидеть?
А то я перепробовал уже черт знает сколько МОДов для этой цели, но ничего пристойного пока не нашел...
Есть возможность этот МОД где-нибудь в работе увидеть?
А то я перепробовал уже черт знает сколько МОДов для этой цели, но ничего пристойного пока не нашел...
-
- Former team member
- Сообщения: 4463
- Стаж: 19 лет 10 месяцев
- Поблагодарили: 1 раз
-
- phpBB 1.0.0
- Сообщения: 2
- Стаж: 19 лет 8 месяцев