Премини към съдържанието
Форумът в приложение

По-лесно сърфиране. Научи повече.

Kaldata.com - Форуми

Приложение на форума на цял екран с push известия, значки и други.

За да инсталирате това приложение на iOS и iPadOS
  1. Докоснете Иконата за споделяне в Safari
  2. Превъртете менюто и докоснете Добавяне към началния екран.
  3. Докоснете Добавяне в горния десен ъгъл.
За да инсталирате това приложение на Android
  1. Докоснете менюто с 3 точки (⋮) в горния десен ъгъл на браузъра.
  2. Докоснете Добавяне към началния екран или Инсталиране на приложение.
  3. Потвърдете, като докоснете Инсталиране.

Добре дошли!

Добре дошли в нашите форуми, пълни с полезна информация. Имате проблем с компютъра или телефона си? Публикувайте нова тема и ще намерите решение на всичките си проблеми. Общувайте свободно и открийте безброй нови приятели.

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

 

Проблем с странициране

Featured Replies

Здравейте колеги и приятели. Имам един проблем с едно странициране. Опитвам се да направа странициране, подобно на google, т.е. да се виждат общо 10 страници на екрана, на които ако се стигне примерно до 6 страница да ми показва 11, а 1-вата да я скрива, но имам някъде бъркам. Ето какво права:

$rowsPerPage = 6;

			$pageNum = 1;

			$showpage= 10;


			if(isset($_GET['page']))

			{

				$pageNum = $_GET['page'];

			}


			// counting the offset

			$offset = ($pageNum - 1) * $rowsPerPage;


			$sql = "SELECT `id`, `col1`, `col2`, `image` FROM $table LIMIT $offset, $rowsPerPage";

			$result = mysql_query($sql) or die ("<Greshka 2<br />".mysql_error());

				while ($row = mysql_fetch_row($result)){?>


					<li>

						<a href="<?php echo $row[3];?>">

							<img src="<?php echo $row[3];?>" alt="" width="167" height="150" title="<?php echo $row[1];?>" border="0" /></a>


					</li>

				<?php }	?>

				</ul>

			</div>

			<?php

			$query   = "SELECT COUNT(id) AS numrows FROM $table";

			//echo $query."<br />";

			$result  = mysql_query($query) or die("Greshka 3<br />".mysql_error());

			$row	 = mysql_fetch_array($result, MYSQL_ASSOC);

			$numrows = $row['numrows'];


			// how many pages we have when using paging?

			$maxPage = ceil($numrows/$rowsPerPage/$showpage);


			// print the link to access each page

			$self = $_SERVER['PHP_SELF'];

			$nav = '';

			for($page = 1; $page <= $maxPage; $page++) {

				if ($page == $pageNum) {

					$nav .= " $page ";   // no need to create a link to current page

				}

				else {

					$nav .= " <a href=\"$self?page=$page\" class=\"selected\">$page</a> ";

				}

			}

			if ($pageNum > 1) {

				$page = $pageNum - 1;

				$prev = " <a href=\"$self?page=$page\" class=\"selected\">Предишна</a> ";


				$first = " <a href=\"$self?page=1\" class=\"selected\">Първа</a> ";

			}

			else {

				$prev  = '&nbsp;'; // we're on page one, don't print previous link

				$first = '&nbsp;'; // nor the first page link

			}


			if ($pageNum < $maxPage) {

				$page = $pageNum + 1;

				$next = " <a href=\"$self?page=$page\" class=\"selected\">Следшаща</a> ";


				$last = " <a href=\"$self?page=$maxPage\" class=\"selected\">Последна</a> ";

			}

			else {

				$next = '&nbsp;'; // we're on the last page, don't print next link

				$last = '&nbsp;'; // nor the last page link

			} ?>

			<div  class="page_navig"><?php  echo $first . $nav . $last;?></div>

			<?php } ?>

Благодаря ви предварително за помоща.

  • 3 седмици по-късно...

здравей,

за да решиш проблема си, замени това:

...

// how many pages we have when using paging?

$maxPage = ceil($numrows/$rowsPerPage/$showpage);


// print the link to access each page

$self = $_SERVER['PHP_SELF'];

$nav = '';

for($page = 1; $page <= $maxPage; $page++) {

...
с това:
...

// how many pages we have when using paging?

$maxPage = ceil($numrows/$rowsPerPage);

$startPage = ($pageNum - $showpage/2 < 1) ? 1 : $pageNum - $showpage/2;

$endPage = ($maxPage > $startPage + $showpage - 1) ? $startPage + $showpage - 1 : $maxPage;


// print the link to access each page

$self = $_SERVER['PHP_SELF'];

$nav = '';

for($page = $startPage; $page <= $endPage; $page++) {

...

в $maxPage записваме колко общо страници имаме, в $startPage - коя е първата за показване, а в $endPage - последната.

ако имаш още въпроси, насреща съм.

  • Автор

Благодаря много. Поздрави

  • Автор

А относно страницирането, Може ли да се направи странициране без рефреш на страницата или без да излизат примерно като е при мен "page="?

Редактирано от spas666 (преглед на промените)

Добавете отговор

Можете да публикувате отговор сега и да се регистрирате по-късно. Ако имате регистрация, влезте в профила си за да публикувате от него.

Гост
Публикацията ви съдържа термини, които не допускаме! Моля, редактирайте съдържанието си и премахнете подчертаните думи по-долу. Ако замените букви от думата със звездички или друго, за да заобиколите това предупреждение, профилът ви ще бъде блокиран и наказан!
Напишете отговор в тази тема...

Разглеждащи това в момента 0

  • Няма регистрирани потребители разглеждащи тази страница.

Дарение

  • Подкрепи съществуването на форума - направи дарение
    25%
    Дарени 252.69 EUR от нужните 1,000.00 EUR

Бюлетин

Получавайте известие, когато има важна промяна или новина свързана с форума.

Профил

Навигация

Търсене

Търсене

Конфигуриране на push известия в браузъра

Chrome (Android)
  1. Докоснете иконата на катинар до адресната лента.
  2. Докоснете Разрешения → Известия.
  3. Променете предпочитанията си.
Chrome (Desktop)
  1. Кликнете върху иконата на катинар в адресната лента.
  2. Изберете Настройки на сайта.
  3. Намерете Известия и коригирайте предпочитанията си.