Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 09.06.2016
Сообщений: 2

Постраничная навигация!

09.06.2016, 03:00. Показов 708. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть вот такой код страницы:
PHP/HTML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
<?php require_once('inc/top.php');?>
 
  </head>
  <body>
<?php require_once('inc/header.php');
      
      $number_of_posts = 1;
      
      if(isset($_GET['page'])){
          $page_id = $_GET['page'];
      }
      else{
          $page_id = 1;
      }
      
      if(isset($_GET['cat'])){
          $cat_id = $_GET['cat'];
          $cat_query = "SELECT * FROM categories WHERE id = $cat_id";
          $cat_run = mysqli_query($con, $cat_query);
          $cat_row = mysqli_fetch_array($cat_run);
          $cat_name = $cat_row['category'];
      }
          
      
      if(isset($_POST['search'])){
          $search = $_POST['search-title'];
          $all_posts_query = "SELECT * FROM `posts` WHERE status = 'publish'";
          $all_posts_query .= " and tags LIKE '%$search%'";
          $all_posts_run = mysqli_query($con, $all_posts_query);
          $all_posts = mysqli_num_rows($all_posts_run);
          $total_pages = ceil($all_posts / $number_of_posts);
          $posts_start_from = ($page_id - 1) * $number_of_posts;
      }
      else{
          $all_posts_query = "SELECT * FROM `posts` WHERE status = 'publish'";
          if(isset($cat_name)){
          $all_posts_query .= " and categories = '$cat_name'";
          }
          $all_posts_run = mysqli_query($con, $all_posts_query);
          $all_posts = mysqli_num_rows($all_posts_run);
          $total_pages = ceil($all_posts / $number_of_posts);
          $posts_start_from = ($page_id - 1) * $number_of_posts;
      }
      
      
      ?>  
     
        <div class="jumbotron">
           <div class="container">
            <div id="details" class="animated fadeInLeft">
               <h1>Домашняя <span>коллекция</span></h1>
               <p>Лучшая музыка тебе в уши, CD и Слушай! <i class="fa fa-smile-o" aria-hidden="true"></i></p> 
            </div>
           </div>
           <img src="img/music-records.jpg" alt="Top Image">
        </div>   
        
<section>
    <div class="container">
        <div class="row">
            <div class="col-md-8">
            <?php 
                $slider_query = "SELECT * FROM `posts` WHERE status = 'publish' ORDER BY id DESC LIMIT 5";
                $slider_run = mysqli_query($con, $slider_query);
                if(mysqli_num_rows($slider_run) > 0){
                    $count = mysqli_num_rows($slider_run);
                ?>
             <div id="carousel-example-generic" class="carousel slide" data-ride="carousel">
  <ol class="carousel-indicators">
    <?php
      for($i = 0; $i < $count; $i++){
          if($i == 0){
              echo "<li data-target='#carousel-example-generic' data-slide-to='".$i."' class='active'></li>";
          }
          else{
              echo "<li data-target='#carousel-example-generic' data-slide-to='".$i."'></li>";
          }
      }
      ?>
  </ol>
 
  <!-- Wrapper for slides -->
  <div class="carousel-inner" role="listbox">
   <?php
      $check = 0;
      while($slider_row = mysqli_fetch_array($slider_run)){
          $slider_id = $slider_row['id'];
          $slider_image = $slider_row['image'];
          $slider_title = $slider_row['title'];
          $check = $check + 1;
          if($check == 1){
              echo "<div class='item active'>";
          }
          else{
              echo "<div class='item'>";
          }
      ?>
      <a href="post.php?post_id=<?php echo $slider_id;?>"><img src="img/<?php echo $slider_image;?>"</a>
      <div class="carousel-caption">
          <h2><?php echo $slider_title;?></h2>
      </div>
    </div>
    <?php }?>
  </div>
 
 
  <a class="left carousel-control" href="#carousel-example-generic" role="button" data-slide="prev">
    <span class="glyphicon glyphicon-chevron-left" aria-hidden="true"></span>
    <span class="sr-only">Previous</span>
  </a>
  <a class="right carousel-control" href="#carousel-example-generic" role="button" data-slide="next">
    <span class="glyphicon glyphicon-chevron-right" aria-hidden="true"></span>
    <span class="sr-only">Next</span>
  </a>
</div> 
            
             <?php
                }
                if(isset($_POST['search'])){
                    $search = $_POST['search-title']; 
                    $query = "SELECT * FROM `posts` WHERE `status` = 'publish'";
                    $query .= " and tags LIKE '%$search%'";
                    $query .= " ORDER BY id DESC LIMIT $posts_start_from, $number_of_posts";
                }
                else{
                    $query = "SELECT * FROM posts WHERE status = 'publish'";
                    if(isset($cat_name)){
                        $query .= " and categories = '$cat_name'";
                    }
                    $query .= " ORDER BY id DESC LIMIT $posts_start_from, $number_of_posts";
                }
                $run = mysqli_query($con,$query);
                if(mysqli_num_rows($run) > 0){
                  while($row = mysqli_fetch_array($run)){
                      $id = $row['id'];
                      $date = getdate($row['date']);
                      $day = $date['mday'];
                      $month = $date['month'];
                      $year = $date['year'];
                      $title = $row['title'];
                      $author = $row['author'];
                      $author_image = $row['author_image'];
                      $image = $row['image'];
                      $categories = $row['categories'];
                      $tags = $row['tags'];
                      $post_data = $row['post_data'];
                      $views = $row['views'];
                      $status = $row['status'];
                ?>
                <div class="post">
                                 <div class="row">
                     <div class="col-md-2 post-date">
                        <div class="day"><?php echo $day;?></div>
                        <div class="month"><?php echo $month;?></div>
                        <div class="year"><?php echo $year;?></div>
                     </div>
                     <div class="col-md-8 post-title">
                         <a href="post.php?post_id=<?php echo $id;?>"><h2><?php echo $title;?></h2></a>
                         <p>Добавил: <span><?php echo ucfirst($author);?></span></p>
                     </div>
                     <div class="col-md-2 profile-picture">
                         <img src="img/<?php echo $author_image;?>" alt="Profile Picture" class="img-circle">
                     </div>
                 </div>
                 <a href="post.php?post_id=<?php echo $id;?>"><img src="img/<?php echo $image;?>" alt="Post Image"></a>
                 <p class="desc">
                 <?php echo substr($post_data,0,300)."......";?>
                 </p>
                 <a href="post.php?post_id=<?php echo $id;?>" class="btn btn-primary">ПОДРОБНЕЕ</a>
                 <div class="bottom">
                     <span class="first"><i class="fa fa-folder" aria-hidden="true"></i><a href="#"> <?php echo ucfirst($categories);?></a></span>|
                     <span class="sec"><i class="fa fa-comment" aria-hidden="true"></i><a href="#"> Comment</a></span>
                 </div>
             </div>
             <?php
                    }  
                }
                else{
                    echo "<center><h2>Новостей нет !</h2></center>";
                }
                ?>
                                        
             <nav id="pagination">
             <ul class="pagination">
             <?php
                 for($i = 1; $i <= $total_pages; $i++){
                    echo "<li class='".($page_id == $i ? 'active':'')."'><a href='index.php?page=".$i."&".(isset($cat_name)?"cat=$cat_id":"")."'>$i</a></li>";  
                 }
                 ?>  
  </ul>
</nav>
             
             
            </div>
            <div class="col-md-4">
<?php require_once('inc/sidebar.php');?>                
                
            </div>
        </div>
    </div>
</section>
  
   <!-- ПОДВАЛ -->
<?php require_once('inc/footer.php');?>
Все работает, указываю вывести по 1 статье их всего 11 там где пагинация выводится 11 кнопок но это плохо, будет 1000 записей в базе и будет выводится 1000 кнопок это не красиво, ужас! Помогите пожалуйста изменить пагинацию где будет <<назад 1 2 3 4 5...10 11 вперед>>
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
09.06.2016, 03:00
Ответы с готовыми решениями:

постраничная навигация
всем привет. делаю постраничную навигацию. когда в категории есть записи - все работает идеально, а если в категории нет записей то...

Постраничная навигация
Здравствуйте. Помогите сделать постраничную навигацию. Вот список: &lt;?php $ordtype = 'title'; $tb =...

Постраничная навигация
Всем привет,есть такая задача: &lt;?php foreach ($list as $item) : ?&gt; &lt;?php echo '&lt;div class=&quot;mtn-time&quot;&gt;'.date('H:i',...

2
182 / 182 / 83
Регистрация: 18.02.2014
Сообщений: 867
09.06.2016, 17:51
rnjnen, А может вот так?

<<назад 1 2 3 4 5......101 102 103 104 105 ......100000 вперед>>
0
0 / 0 / 0
Регистрация: 09.06.2016
Сообщений: 2
11.06.2016, 16:17  [ТС]
<первая<<назад 1 2 3 4 5 ....10 11 вперед>>последняя>
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
11.06.2016, 16:17
Помогаю со студенческими работами здесь

Постраничная навигация
Здравствуйте это конечно вопрос не новый но ничего подходящего пока не нашел для себя,.. помогите сделать постранично В папке есть...

Постраничная навигация
Ребят подскажите пожалуйста уже который день мучаюсь, есть у нас таблица в бд dannie_cat_article у нее есть 4 поля это id, text, date,...

Постраничная навигация
Я делаю свой первый сайт знакомств, а как вы наверное знаете на сайтах знакомств обязательно присутствует поиск анкет: по стране, по...

Постраничная навигация
Добрый день! Помогите доработать пожалуйста скрипт постраничной навигации. Суть такая: у меня стоит фильтр где посититель выбирает в...

постраничная навигация
здравствуйте, вот скрипт постраничной навигации всё хорошо кроме одного, страницы не листаются. помогите найти проблему. &lt;?php ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru