| | 127 | |
| | 128 | == Пагинација на административни податоци == |
| | 129 | |
| | 130 | Во администраторскиот дел е имплементирана пагинација за прегледот на нарачките и плаќањата. |
| | 131 | |
| | 132 | Наместо сите нарачки и плаќања да се вчитуваат и прикажуваат одеднаш, податоците се прикажуваат по 10 записи на една страница. |
| | 133 | |
| | 134 | За ова во SQL пребарувањата се користат `LIMIT` и `OFFSET`. |
| | 135 | |
| | 136 | `LIMIT` го ограничува бројот на записи што се прикажуваат на една страница, додека `OFFSET` определува од кој запис треба да започне прикажувањето. |
| | 137 | |
| | 138 | Тековната страница се зема преку параметарот `page`: |
| | 139 | |
| | 140 | {{{ |
| | 141 | page = request.args.get("page", 1, type=int) |
| | 142 | per_page = 10 |
| | 143 | offset = (page - 1) * per_page |
| | 144 | }}} |
| | 145 | |
| | 146 | Потоа во SQL пребарувањето се користат: |
| | 147 | |
| | 148 | {{{ |
| | 149 | LIMIT %s OFFSET %s; |
| | 150 | }}} |
| | 151 | |
| | 152 | со вредностите: |
| | 153 | |
| | 154 | {{{ |
| | 155 | (per_page, offset) |
| | 156 | }}} |
| | 157 | |
| | 158 | Пред прикажувањето се пресметува и вкупниот број на записи: |
| | 159 | |
| | 160 | {{{ |
| | 161 | SELECT COUNT(*) |
| | 162 | FROM project.naracki; |
| | 163 | }}} |
| | 164 | |
| | 165 | односно за плаќањата: |
| | 166 | |
| | 167 | {{{ |
| | 168 | SELECT COUNT(*) |
| | 169 | FROM project.plakanja; |
| | 170 | }}} |
| | 171 | |
| | 172 | Вкупниот број на страници се пресметува според вкупниот број на записи и бројот на записи што се прикажуваат на една страница: |
| | 173 | |
| | 174 | {{{ |
| | 175 | total_pages = (total_orders + per_page - 1) // per_page |
| | 176 | }}} |
| | 177 | |
| | 178 | За плаќањата на ист начин се користи вкупниот број на плаќања. |
| | 179 | |
| | 180 | Во административниот интерфејс се прикажуваат тековната страница и вкупниот број на страници, а администраторот може да се движи помеѓу нив преку копчињата „Претходна“ и „Следна“. |
| | 181 | |
| | 182 | Пагинацијата е имплементирана на: |
| | 183 | |
| | 184 | * прегледот на сите нарачки; |
| | 185 | * прегледот на сите плаќања. |
| | 186 | |
| | 187 | Со ова административниот дел е попрегледен и не е потребно сите записи да се вчитуваат и прикажуваат одеднаш кога бројот на нарачки и плаќања ќе се зголеми. |
| | 188 | |
| | 189 | |