Artemius Опубликовано 1 Июля 2009 Жалоба Поделиться Опубликовано 1 Июля 2009 Подскажите пожалуйста, как сформировать 5 последних созданых тем.И где можно почитать про структуру БД IPB ? Пытался что то типа "SELECT * FROM `ibf_topics` ORDER BY `tid` DESC LIMIT 5",но не получается. Первых 3 вроде и темы вылазит, но дальше уже 2 сообщения каких то. Помогите пожалуйста Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
0 Sannis Опубликовано 2 Июля 2009 Жалоба Поделиться Опубликовано 2 Июля 2009 Первых 3 вроде и темы вылазит, но дальше уже 2 сообщения каких то.Everybody lies. Сообщений там быть не может. И где можно почитать про структуру БД IPB ?Имхо, она прозрачная. Развёрнутые переводы названий таблиц есть в прикреплённой теме, а если этого не хватит, то нужный вам запрос есть в моде для SSI в моей подписи. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
0 Artemius Опубликовано 9 Июля 2009 Автор Жалоба Поделиться Опубликовано 9 Июля 2009 Результат моего скрипта: * Герой * Гаррі Поттер за кулісами Напівкровного Принца * Від: Хелоуін * Проби до грифіндорської квідичної команди * Сектумсемпра. Full version. * Від: Чистокровка-Слизеринец. Від: Хелоуін - > Виявлена помилка. Якщо Вам невідомі причини помилки, спробуйте звернутися до розділів допомоги.Посилання, по якому Ви потрапили на цю сторінку є битим або видаленим. Пишет, что ссылка удалена Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
0 WildRAID Опубликовано 10 Июля 2009 Жалоба Поделиться Опубликовано 10 Июля 2009 Добавьте условие, чтобы state проверялось. Примерно так..WHERE state='open' Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
0 Artemius Опубликовано 10 Июля 2009 Автор Жалоба Поделиться Опубликовано 10 Июля 2009 Прошу прощение. не решилось. Есть темка:Тріо та Боні Райт у серпневому номері Entertainment Weekly (index.php?showtopic=10323)Она отображается в списке. Написал туда сообщение. Теперь выше отображается: (index.php?showtopic=10323)Від: Тріо та Боні Райт у серпневому номері Entertainment Weekly(index.php?showtopic=10324) Хотя еще прикол, что мое сообщение там далеко не первое. Мое сообщение добавилось в таблицу топикс. в description написано: "Від теми з ID: 10323" Можно конечно же пофиксить подобным образом:WHERE `state`='open' AND `description` NOT LIKE 'Від теми з ID:%'но может есть какое то более аргументированое обьяснение и решение? Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
0 vmlinuz Опубликовано 10 Июля 2009 Жалоба Поделиться Опубликовано 10 Июля 2009 Это ещё что, я использую связку портал+форум (mkportal), установил блок для портала с выводом последних тем, в которых были ответы (грубо говоря, активные темы) и некоторые темы просто не показываются, некоторые темы пропадают из списка после нескольких ответов, хотя темы с форума доступны, заапрувлены и открыты. Несколько дней сижу гляжу в код и не могу понять где собака зарыта. Могу выложить код блока, возможно автору это чем-то поможет и кто-то из продвинутых пользователей сможет дать ответ, почему так происходит. <?php /*------------------------------------------------------------------------- | MKPortal IPB 2.1.x Last Posts Table with Permissions 2.1 (for center block) 17.05.2006 | for MKP 1.1 x IPB 2.1.x | by visiblesoul <visiblesoul.net> | Support: http://www.visiblesoul.net/resources/forum/ +-------------------------------------------------------------------------- Want to show your appreciation for this block? Link to me on your website using the link code below: Get free <a href="http://www.visiblesoul.net/" target="_blank">MKPortal modules, blocks, hacks, and skins</a> at <a href="http://www.visiblesoul.net/" target="_blank">Visible Soul Web Design - Corpus Christi, Texas</a>! --------------------------------------------------------------------------- Config: --------------------------------------------------------------------------*/ $prefix = "ibf_"; // Перфикс базы форума $limit = 10; // Число тем отоброжающих в блоке $cutoff = 40; // число символов в названии $startformat = "my"; // Формат даты // Options are short, time, small, normal, long or leave blank for default $lastformat = "my"; // формат даты последнего ответа // Options are short, time, small, normal, long or leave blank for default /*------------------------------------------------------------------------*/ global $mkportals, $DB, $mklib, $Skin, $mklib_board, $ipsclass; $content = " <tr> <td> <table class=\"moduleborder\" cellspacing=\"1\" width=\"100%\"> <tr> <th class=\"modulex\" width=\"45%\" style=\"padding-left: 10px;\">Название темы</th> <th class=\"modulex\" width=\"25%\" style=\"padding-left: 10px;\">Последний ответ</th> <th class=\"modulex\" width=\"20%\" style=\"padding-left: 10px;\">Дата последнего ответа</th> <th class=\"modulex\" width=\"5%\" style=\"text-align: center;\">Просмотров</th> <th class=\"modulex\" width=\"5%\">Ответов</th> </tr> "; $DB->query("SELECT id, password, permission_array FROM ".$prefix."forums"); while( $f = $DB->fetch_row() ) { $perms = unserialize(stripslashes($f['permission_array'])); if ($mklib_board->check_permissions($perms['read_perms']) != TRUE or ($f['password'] != "" ) ) { $bad[] = $f['id']; } else { $good[] = $f['id']; } } if ( count($bad) > 0 ) { $qe = " AND forum_id NOT IN(".implode(',', $bad ).") "; } $DB->query("SELECT t.last_post, t.tid, t.title, t.views, t.posts, t.start_date, t.starter_name, t.last_poster_name, t.last_poster_id, t.forum_id , a.avatar_location, a.avatar_size, a.avatar_type FROM ".$prefix."topics t LEFT JOIN ".$prefix."forums f ON (t.forum_id = f.id) LEFT JOIN ibf_member_extra a on (t.last_poster_id=a.id) WHERE state!='closed' AND approved=1 AND (moved_to IS NULL or moved_to='') $qe GROUP BY t.title ORDER BY t.last_post DESC LIMIT 0,$limit"); while ( $post = $DB->fetch_row() ) { $post['title'] = strip_tags($post['title']); $post['title'] = str_replace( "!" , "!" , $post['title'] ); $post['title'] = str_replace( """, "\"", $post['title'] ); if (strlen($post['title']) > $cutoff) { $post['title'] = substr( $post['title'],0,($cutoff - 3) ) . "..."; $post['title'] = preg_replace( '/&(#(\d+;?)?)?(\.\.\.)?$/', '...',$post['title'] ); } $title = $post['title']; $tid = $post['tid']; $views = $post['views']; $posts = $post['posts']; $starter = $post['starter_name']; $lastname = $post['last_poster_name']; $lastid = $post['last_poster_id']; $forum_id = $post['forum_id']; $startdate = $this->create_date($post['start_date'], $startformat); $lastdate = $this->create_date($post['last_post'], $lastformat); $content .= " <!-- topic begin --> <tr> <td class=\"modulecell\" style=\"padding-left: 3px; text-align: left;\"> <img src=\"$this->images/hand.png\" border=\"0\" align=\"middle\" alt=\"\" /> <a style=\"text-decoration: none; \" href=\"$mkportals->forum_url/index.php?showtopic=$tid&view=getnewpost\" title=\"Тему создал $starter от $startdate\">$title</a> </td> <td class=\"modulecell\" style=\"padding-left: 10px; text-align: left;\"> <a href=\"$mkportals->forum_url/index.php?showuser=$lastid\">$lastname</a> </td> <td class=\"modulecell\" style=\"padding-left: 10px; text-align: left;\">$lastdate</td> <td class=\"modulecell\" style=\"padding-right: 10px; text-align: right;\">$views</td> <td class=\"modulecell\" style=\"padding-right: 10px; text-align: right;\">$posts</td> </tr> <!-- topic end --> "; } $content .= " </table> </td> </tr> "; unset($prefix); unset($limit); unset($cutoff); unset($startformat); unset($lastformat); unset($perms); unset($good); unset($bad); unset($qe); unset($post); unset($tid); unset($title); unset($views); unset($posts); unset($startdate); unset($lastdate); unset($starter); unset($lastname); unset($lastid); unset($forum_id); unset($icohot); unset($icohot2); ?> ЗЫ. вроде не оффтоп Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Вопрос
Artemius
Подскажите пожалуйста, как сформировать 5 последних созданых тем.
И где можно почитать про структуру БД IPB ?
Пытался что то типа "SELECT * FROM `ibf_topics` ORDER BY `tid` DESC LIMIT 5",
но не получается. Первых 3 вроде и темы вылазит, но дальше уже 2 сообщения каких то.
Помогите пожалуйста
Ссылка на комментарий
Поделиться на других сайтах
5 ответов на этот вопрос
Рекомендуемые сообщения
Присоединиться к обсуждению
Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.