webForumDet fria alternativet

Räkna ut sidor i paging

PHP

5 svar · 312 visningar · startad av Cactuz

Medlem sedan okt. 2001670 inlägg
Frågan#1

Jag använder

$antalsidor = mysql_num_rows($res) / $antalpersida;

för att räkna ut hur många sidor som finns. Problemen är att den räknar ut med decimaler. Kan man göra så den bara räknar ut i hela tal?

Medlem sedan mars 2002777 inlägg
#2

Så här kanske?

$antalsidor = ceil(mysql_num_rows($res) / $antalpersida);
Medlem sedan okt. 2001670 inlägg
#3

ok.. d funkar bra.. men om d t.ex står 10,3 så blir d 11 nu... jag vill ha d till 10

Medlem sedan nov. 20014 054 inlägg
#4

Kanske nåt sånt här...

if(!isset($show)) 
  $show=0; 

// max fält per sida: 
$maxshow=3; 

// välj maximalt antal fält: 
$result=mysql_query(" 
 select * from some_table 
 order by some_field 
"); 

// spara totalt antal fält 
$count = mysql_num_rows($result); 

// begränsa till $show och $maxshow 
$result=mysql_query(" 
 select * from some_table 
 order by some_field 
 limit $show, $maxshow 
"); 

// antal sidor som max antal fält sträcker sig över 
$pages = $count / $maxshow; 
echo "Sidor: "; 
$i = 0; 
while ($i < $pages) 
{ 
   $j = $i + 1; 

   if($j == ($show/$maxshow+1 )) 
      echo " $j "; 
   else 
   { 
      $showpage = $j * $maxshow; 
      echo "<a href=" . $PHP_SELF . "?show=" . $showpage >" . $j . "</a>"; 
   } 
   $i++; 
}

Kanske... :q

Medlem sedan okt. 2001670 inlägg
#5

hmm.. kom på lättare sätt att göra...

Medlem sedan mars 2002777 inlägg
#6

Cactuz skrev:

ok.. d funkar bra.. men om d t.ex står 10,3 så blir d 11 nu... jag vill ha d till 10

Problemet då är att du kan missa att poster visas. Den avrundar bort poster så att säga.

259 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
124 ms — deklarationer (db)
0 ms — hämta statistik (cache)
132 ms — hämta tråd, inlägg och bilagor (db)
124 ms — ändringar (db)