настройка пагинации

172
09 января 2018, 15:13

Подскажите, почему происходит дублирование адреса на первой странице?

public function get_category( $cat_id, $page = 1, $size = 9, $addr = "/catalog.php") 
    { 
        $db=$this->getDb(); 
        if ($cat_id != "") { 
            $sql = "select cat_name,cat_desc,cat_desc_foot,is_sell,cat_addr from ito_categories where cat_id=" . $cat_id; 
            $res = mysql_query($sql, $db); 
            $row1 = mysql_fetch_row($res); 
            $is_sell = $row1[3]; 
            $addr1 = ""; 
            if ($row1[4] != "") { 
                $addr1 = $row1[4]; 
            } 
 
            print "<h1>" . $row1[0] . "</h1>"; 
            $this->get_broad( $cat_id); 
            $db=$this->getDb(); 
            $foot = ""; 
            if ($page == 1) { 
                print str_replace('\"', '"', $row1[1]) . "<br>"; 
                $sql_child = "select cat_name,cat_id,cat_addr,cat_img from ito_categories where is_show is null and cat_cat_id=" . $cat_id . " order by srt"; 
                $res = mysql_query($sql_child, $db); 
                while ($row = mysql_fetch_row($res)) { 
                    if ($row[2] != "") { 
                        $addr2 = $row[2]; 
                    } else { 
                        $addr2 = "$addr?cat_id=" . $row[1]; 
                    } 
                    /* 
                                    $res=array(); 
                                    preg_match($row[3],'images(*)',$res); 
                                    var_dump($res); 
                                    if($count(res)>1){ 
                                        $immg=$row[3]; 
                                    }else{*/ 
                    if (preg_match('/\/images/', $row[3]) > 0) { 
                        $immg =$row[3]; 
                    }else{ 
                        $immg ="/images/category/".$row[3]; 
                    } 
                    //} 
 
                    print "<a href='" . $addr2 . "' class=\"a_cat\"> 
                            <span>" . $row[0] . "</span> 
                            <img src='" . $immg . "' alt=''/> 
                       </a>"; 
                } 
                print "<div class=\"clear\"></div>"; 
                $foot = str_replace('\"', '"', $row1[2]); 
            } 
            $sql_prod = "select prod_id,prod_name,cat_index,sh_img,price,short_desc,qw from ito_products where is_show is null and cat_id=" . $cat_id . " order by price,cat_index"; 
            //print $sql_prod; 
            $res = mysql_query($sql_prod, $db); 
            $cnt = 1; 
            $cnt_first = ($page - 1) * $size + 1; 
            $cnt_last = ($page - 1) * $size + $size; 
            $show_list = 0; 
            while ($row = mysql_fetch_row($res)) { 
                if ($cnt >= $cnt_first && $cnt <= $cnt_last) { 
                    $qq = $row[5]; 
                    $height = ""; 
                    if ($is_sell != 1) { 
                        $height = "height:240px;"; 
                    } 
                     
                    $amount = round($row[4]); 
                    if ($amount == 0) { 
                        $amount = "Договор"; 
 
                    } else { 
                        $amount = $amount . "&nbsp;-"; 
 
                    } 
                    $iimg = "/images/product/" . $row[3]; 
 
                    if (preg_match('/\/images/', $row[3]) > 0) { 
                        $iimg = $row[3]; 
                        //print 1; 
                    } 
 
                    /*$href = ""; 
                    if ($is_sell == 1) {*/ 
                        $href = "href=\"/product.php?id=" . $row[0] . "\" title=\"Посмотреть описание модели\""; 
                    /*}*/ 
                    print "<div align=\"center\" class=\"div_cat\" style='" . $height . "'> 
                       <a class='div_cat_h2' " . $href . " >" . $row[1] . "</a> 
                       <h3 id=\"" . $row[0] . "\">" . $row[2] . "</h3> 
                       <a class='div_cat'" . $href . " style=\"text-decoration:none;background:url('" . $iimg . "') center top no-repeat;\">&nbsp;</a> 
                       <div class=\"div_right\">" . $qq . "</div> 
					   "; 
                    if ($is_sell == 1) { 
                        $qw = "<b class=\"nazakas\">На заказ</b>"; 
                        if ($row[6] > 1) { 
                            $qw = "В наличии"; 
                        } 
                        print "<div class=\"price\">" . $qw . "&nbsp;<img src='/img/price_tag_icon.png' alt=''/><span>" . $amount . "</span></div> 
					   <div class=\"btn_block\"> 
					   <a class='div_cat' href=\"/product.php?id=" . $row[0] . "\" title=\"Посмотреть описание модели\">Подробнее</a>"; 
 
                        if ($amount != "Договор") { 
                            print "<button onclick='add_req(" . $row[0] . ")'></button>"; 
                        } 
                        print "</div>"; /*<a href=''>Добавить к сравнению</a>*/ 
                        /* print "<div class=price style='margin:40px 0px 0px 0px;'>На заказ&nbsp;<img src='img/price_tag_icon.png' alt=''><span>".$amount."</span></div>";*/ 
                    } 
                    print "</div>"; 
 
                    $show_list++; 
                } 
                $cnt++; 
 
            } 
 
            $sql_q = "select count(1) from ito_products where is_show is null and cat_id=" . $cat_id; 
            $res = mysql_query($sql_q, $db); 
            $row = mysql_fetch_row($res); 
            $cnt = (int)($row[0] / 9); 
            //print $cnt; 
            if ($row[0] % 9 > 0) { 
                $cnt = $cnt + 1; 
            } 
            /* 
            $margin = 220 - 24 * $cnt; 
            */ 
            if ($show_list > 0 && $cnt > 1) { 
                print "<div class=\"clear\"></div>"; 
                print "<div class=\"navi\">"; 
                if ($page == 1) { 
                    print "<span class=\"pagenav1\">«</span>"; 
                } else { 
                    if ($page == 1) { 
                        $p = ""; 
 
                    }else { 
                        $p = $page - 1; 
 
                    } 
                    $aa = $addr . "?cat_id=" . $cat_id . "&page=" . $p; 
                    if ($page == 2) { 
                        $aa = $addr1; 
                    } 
 
                    print "<a class=\"pagenav1\" href=\"" . $aa . "\">«</a>"; 
                } 
 
                for ($i = 1; $i <= $cnt; $i++) { 
                    if ($i == $page) { 
                        print "<div class=\"a_pg\">" . $i . "</div>"; 
                    } else { 
                        if ($i == 1) { 
                            $aa = $addr1; 
                        } else { 
                            $aa = $addr . "?cat_id=" . $cat_id . "&page=" . $i; 
                        } 
                        print "<a href='". $aa  . "' class=\"a_pg\">" . $i . "</a>"; 
                    } 
                } 
                if ($page == $cnt) { 
                    print "<span class=\"pagenav1\">»</span>"; 
                } else { 
                    print "<a class=\"pagenav1\" href=\"$addr?cat_id=" . $cat_id . "&page=" . ($page + 1) . "\">»</a>"; 
                } 
                print "</div>"; 
            } 
            print "<div class=\"clear\"></div>"; 
            print $foot; 
        } else { 
            print "<h1>Каталог продукции</h1>"; 
            $sql_child = "select cat_name,cat_id,cat_addr,cat_img from ito_categories where is_show is null and (cat_cat_id is null or cat_cat_id=0) order by `srt`"; 
            $res = mysql_query($sql_child, $db); 
            while ($row = mysql_fetch_row($res)) { 
                if ($row[2] != "") { 
                    $addr1 = $row[2]; 
                } else { 
                    $addr1 = $addr . "?cat_id=" . $row[1]; 
                } 
                print "<a href='" . $addr1 . "' class=a_cat> 
                    <span>" . $row[0] . "</span> 
                    <img src='/images/category/" . $row[3] . "' alt=''/> 
                       </a>"; 
            } 
        } 
        print "<div class=\"clear\"></div>"; 
 
        print "<div class=\"clear\"></div>"; 
 
 
    }

READ ALSO
Как посмотреть параметры сборки PHP?

Как посмотреть параметры сборки PHP?

php -i почему то не выводит информацию о Configure Command

151
Непонятный php файл

Непонятный php файл

Работаю с cms opencart, в исходниках одного модуля нашёл такой php скрипт:

117
Какие есть структуры данных?Рекурсия

Какие есть структуры данных?Рекурсия

Есть только два вида структур? линейные и не линейние?? А рекурсивные стуркутуры это как третий вид или это подвид линейных? Или как лучше...

142
Приведение числа double к float с большой точностью

Приведение числа double к float с большой точностью

Пусть у меня есть некоторое значение типа double, мне необходимо провести некоторые манипуляции над этим значением и конвертировать в тип floatИмею...

152