1

慣れていないものを修正しようとしていますが、どうすればよいかわかりません。私が取り組んでいるフォーラムは、「TOP 50」の下に最もコメントの多いトピック (2 ページ x 25 トピック) のみを表示すると想定されていますが、ページ数の制限なしにすべてのトピック (25 トピックまで) を表示します。最初の 2 ページだけが必要ですが、他のページを削除する方法がわかりません。

以下のコードが原因であるかどうかさえわかりませんが、何か解決策があれば、見てヒントを教えてください。

これはコードです:

{
    public function __construct()
    {
        parent::__construct();
    }

    public function get_forum()
    {
        if ($_GET['l'] && ($_GET['l'] == 'leng' || $_GET['l'] == 'lrus' || $_GET['l'] == 'lde' || $_GET['l'] == 'ltr'))
            $l = substr($_GET['l'], 1);
        else
            $l = 'eng';

        (isset($_GET['num'])) ? $page = intval($_GET['num']) : $page = 1;

        $id_user = intval($_SESSION['user_id']);
        $lang = language::getLang();

        if ($_GET['el']) {
            switch ($_GET['el']) {
            case 'categories':
                return $this->getCategories($l);
                break;
            case 'top':
                $top_lang = $_GET['ln'];

                $c = $this->db->selectAssoc($this->db->Select('*', 'forum_categories ,forum_thems', "`forum_categories`.`lang` = '" . $l
                . "' AND `forum_thems`.`id_categories` = `forum_categories`.`id`"));
                $total_pages = count($c) / 25;
                $p = "<div class=\"pageCounter_box\">Pages:";

                if (empty($_GET['p'])) {
                    $_GET['p'] = 1;
                }

                for($i=1; $i<$total_pages+1; $i++){
                    if ($i == $_GET['p']) {
                        $class = 'class="active_page"';
                    }
                    $p .= "<a href=\"$top_lang/smoke/{$_GET['l']}/top?p=$i\" $class>$i</a>";
                }
                $p .= "</div>";
                return $this->getTop($l) . $p;
                break;  
4

2 に答える 2

0

If ($total_pages > 2) { $total_pages = 2}; のチェックを行うことができると思います。

  $c = $this->db->selectAssoc(
     $this->db->Select('*', 'forum_categories ,forum_thems', "`forum_categories`.
                       `lang` = '" . $l. "' AND `forum_thems`.
                       `id_categories` = `forum_categories`.`id`"));
  $total_pages = count($c) / 25;
  if ($total_pages >2) { //limit to two pages
      $total_pages = 2;
  }
  $p = "<div class=\"pageCounter_box\">Pages:";
  if (empty($_GET['p'])) {
    $_GET['p'] = 1;
  }
于 2013-06-12T21:11:45.017 に答える