webForumDet fria alternativet

Paging, bokstav + siffra

1 svar · 222 visningar · startad av ironhead

ironheadMedlem sedan mars 20011 346 inlägg
#1

Hej!

Jag har en paging som jag använder mig av som ser ut såhär:

$antal = 16;
$antal_inlagg = @mysql_num_rows (mysql_query ("SELECT movies.movieid FROM....");

	if (!isset($sida)) { $sida = 1; }
		$sidantal = ceil($antal_inlagg/$antal);
		$start = ($sida*$antal)-$antal;

	$filmer = $antal_inlagg;
		if(($filmer)>0) { echo "<b>Antal Filmer: $filmer</b>"; }
		
 $query = "SELECT * FROM ...";
 $result = mysql_query($query, $link);
 
 if (mysql_num_rows($result) > 0) {
  	while($array = mysql_fetch_array($result))
  	{	
   		echo "<li><a href=\"updatefilm.php?id=".$array["movieid"]."\">";
   		echo substr($array["title"], 0, 40);
   			if(strlen($array["title"])>40){ echo "..."; }
   				echo "</a>&nbsp;<span class=\"date\">(".substr($array["mdate"],0,10).") - ".$array["username"]."</span></li>";
  	}
 																		}else{
  																		echo "<li>finns inget här...</li>";
																				 }  
	$g = $_GET["sida"];
	$g1 = $_GET["sida"]-1;
	$g2 = $_GET["sida"]+1;

	echo "<table width=\"600\" border=\"0\"><tr>";
	echo "<td width=\"35\"></td><td><font size=1>Sida: ";
		
		if ($g>1) { echo "<a class=\"arrow\" href=\"?sida=$g1\">«</a>&nbsp;"; }
			for ($i=1;$i<$sidantal+1;$i++)
			{
				$e = $i;
					while (strlen($e) < strlen($sidantal)) { $e = "0".$e; }
						if ($sida == $i) { echo "<font size=2 color=\"#39526b\"><b>$e</b></font> "; } else { echo "<a class=\"pagi\" href=\"?sida=$i\">$e</a> "; }
			}

		if ($g<$sidantal) { echo "&nbsp;<a class=\"arrow\" href=\"?sida=$g2\">»</a>"; }

då visas sidorna:
Sida: « 1 2 3 4 5 6 7 8 9 »

...men då jag ska ha filmer så skulle jag vilja ha
Sida: « A B C D E F G H I osv. »
och om man klickar på en bokstav ska sidorna för den bokstaven visas under bokstaven, typ:
Sida: « A B C D E F G H I osv. »
             1 2 3 4 5

Hur och vad bör jag tänka på?

PeeerMedlem sedan mars 20025 907 inlägg
#2
<a href="?start?a">A</a> <a href="?start=b">B</a> <a href="?start=c">C</a> .... osv

Sen när du ska räkna ut antalet sidor varje bokstav ska ha får du modifera din räknarkod lite

$antal_inlagg = @mysql_num_rows (mysql_query ("SELECT movies.movieid FROM [b]tabell where moviename like '{$_GET['sida']}%'[/b]");

Och likadant får du sedan modifiera din fråga (som plockar ut posterna på varje sida) på samma sätt.

128 ms totalt · 3 externa anrop · v20260731065814-full.37765c92
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
125 ms — hämta tråd, inlägg och bilagor (db)