• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Paginacja - problem pętlą while

Object Storage Arubacloud
0 głosów
159 wizyt
pytanie zadane 30 grudnia 2015 w PHP przez Kumalski97 Nowicjusz (120 p.)
edycja 30 grudnia 2015 przez Kumalski97
g

 

<?php
include_once ("connect.php");
$sql = "SELECT COUNT(iditem) FROM items WHERE cap>='0';";
$query = mysqli_query($db_conx, $sql);

$row = mysqli_fetch_row($query);

$rows = $row[0];
$page_rows = 25;
$last = ceil($rows/$page_rows);

if($last < 1)
	{
		$last = 1;
	}

$pagenum = 1;
if(isset($_GET['page']))
	{
		$pagenum = preg_replace('#[^0-9]#', '', $_GET['page']);
	}

if ($pagenum < 1)	
	{
		$pagenum = 1;
	}
else if ($pagenum > $last)
	{
		$pagenum = $last;
	}

$limit = "LIMIT".($pagenum - 1) * $page_rows.','.$page_rows;

$sql = "SELECT iditem, name, cap, drop FROM items WHERE cap>='0' ORDER BY iditem ASC $limit;";
$query = mysqli_query($db_conx, $sql);

$textline1 = "Itemy (<b>$rows</b>)";
$textline2 = '<span class="page">Page <b>'.$pagenum.'</b> of <b>'.$last.'</b></span>';

$paginationCtrls = '';

if ($last != 1)
	{
		if ($pagenum > 1)
			{
				$first = 1;
				$paginationCtrls .= '<a class="list" href="'.$_SERVER['PHP_SELF'].'?page='.$first.'">First</a> &nbsp; ';
				
				$previous = $pagenum - 1;
				$paginationCtrls .= '<a class="list" href="'.$_SERVER['PHP_SELF'].'?page='.$previous.'">Previous</a> &nbsp; ';
				
				for($i = $pagenum-2; $i < $pagenum; $i++)	
					{
						$paginationCtrls .= '<a class="list" href="'.$_SERVER['PHP_SELF'].'?page='.$i.'">'.$i.'</a> &nbsp; ';
					}
			}
		$paginationCtrls .= $pagenum.' &nbsp; ';
		
		for ($i = $pagenum+1; $i <= $last; $i++)
			{
				$paginationCtrls .= '<a class="list" href="'.$_SERVER['PHP_SELF'].'?page='.$i.'">'.$i.'</a> &nbsp; ';
				if ($i > $pagenum+1)
					{
						break;
					}
			}
		if ($pagenum != $last)
			{
				$next = $pagenum + 1;
				$paginationCtrls .= '<a class="list" href="'.$_SERVER['PHP_SELF'].'?page='.$next.'">Next</a> &nbsp; ';
				
				$paginationCtrls .= '<a class="list" href="'.$_SERVER['PHP_SELF'].'?page='.$last.'">Last</a> &nbsp; ';
			}
		$list = '';
		while($row = mysqli_fetch_array($query, MYSQLI_ASSOC))
			{
				$e1 = $row['iditem'];
				$e2 = $row['name'];
				$e3 = $row['cap'];
				$e4 = $row['drop'];
				
				$list .= '<td align="center" style="color: #ffffff">'.$e1.'</td><td align="center" style="color: #ffffff">'.$e2.'</td><td align="center" style="color: #ffffff">'.$e3.' oz.</td><td align="center" style="color: #ffffff">'.$e4.'</td></tr><tr>';
			}
	}

mysqli_close($db_conx);
?>

Witam, od tygodnia męczę się z tym skryptem z paginacją. Stronicowanie mi działa normalnie, lecz (tak przynajmniej podejrzewam) nie działa mi pętla. Mógłby mi ktoś powiedzieć lub nakierować chociaż jak to powinienem zrobić, gdyż ja już nie mam sił. Kogo pytałem ze znajomych to nikt nie potrafił mi odpowiedzieć co jest źle.

Zaloguj lub zarejestruj się, aby odpowiedzieć na to pytanie.

Podobne pytania

0 głosów
1 odpowiedź 406 wizyt
pytanie zadane 8 stycznia 2016 w JavaScript przez michal Mądrala (5,560 p.)
0 głosów
0 odpowiedzi 260 wizyt
pytanie zadane 8 grudnia 2018 w PHP przez niezalogowany
0 głosów
1 odpowiedź 274 wizyt
pytanie zadane 3 kwietnia 2018 w C i C++ przez xLooks Początkujący (250 p.)

92,675 zapytań

141,579 odpowiedzi

320,058 komentarzy

62,039 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...