странициране

bgmafiabitka

Registered
използвам този код, за да изкарвам страниците

Код:
print"Страница: ";
  for ($i=1;$i<=$pages;$i++) {
	if($get_p != $i) {echo "<a href=\"?l=servers&p=$i\">$i</a> ";}
	else {echo "$i ";}
  }

но как да направя избраната страница да е в червен цвят примерно и как да направя примерно да изкарва три страници после ... и последната страница

Пример:
$pages=100 т. е. ще изкара числата от 1 до 100 и реда ще стане много дълъг

аз искам вместо да изписма 1 2 3 4 5 и т. н. до 100 да стане 1 2 3 ... 100

ако сме избрали страница 50 примерно да стане
1 ... 49 50 51 ... 100


П. С. Ако може първо направете това за оцветяването :lol:
 
Завчера писах такъв код.

Ужасно е дълъг. Само да го поорежа колкото мога и ще го постна.
 
Ето:




if(!$page){$curstr=1;}
else{$curstr=$page;}

$prevstr=$curstr-1;
$nextstr=$curstr+1;
$firststr=1;


echo "<table><tr><td><b>Страница:</b></td>";
if($curstr>1){echo "<td><form action='' METHOD=POST><input type=hidden name=page value=$firststr><input type=submit id=submitfirst name=submit value=></form></td>";}
if($prevstr>0){echo "<td><form action='' METHOD=POST><input type=hidden name=page value=$prevstr><input type=submit id=submitprev name=submit value=></form></td>";}
$str=$curstr-4; if($str>0){echo "<td><form action='' METHOD=POST><input type=hidden name=page value=$str><input type=submit id=submit name=submit value=$str></form></td>";}
$str=$curstr-3; if($str>0){echo "<td><form action='' METHOD=POST><input type=hidden name=page value=$str><input type=submit id=submit name=submit value=$str></form></td>";}
$str=$curstr-2; if($str>0){echo "<td><form action='' METHOD=POST><input type=hidden name=page value=$str><input type=submit id=submit name=submit value=$str></form></td>";}
$str=$curstr-1; if($str>0){echo "<td><form action='' METHOD=POST><input type=hidden name=page value=$str><input type=submit id=submit name=submit value=$str></form></td>";}
echo "<td><form action='' METHOD=POST><input type=hidden name=page value=$curstr><input type=submit id=submitcur name=submit value=$curstr></form></td>";
$str=$curstr+1; if($str<=$laststr){echo "<td><form action='' METHOD=POST><input type=hidden name=page value=$str><input type=submit id=submit name=submit value=$str></form></td>";}
$str=$curstr+2; if($str<=$laststr){echo "<td><form action='' METHOD=POST><input type=hidden name=page value=$str><input type=submit id=submit name=submit value=$str></form></td>";}
$str=$curstr+3; if($str<=$laststr){echo "<td><form action='' METHOD=POST><input type=hidden name=page value=$str><input type=submit id=submit name=submit value=$str></form></td>";}
$str=$curstr+4; if($str<=$laststr){echo "<td><form action='' METHOD=POST><input type=hidden name=page value=$str><input type=submit id=submit name=submit value=$str></form></td>";}
if($nextstr<=$laststr){echo "<td><form action='' METHOD=POST><input type=hidden name=page value=$nextstr><input type=submit id=submitnext name=submit value=></form></td>";}
if($curstr<$laststr){echo "<td><form action='' METHOD=POST><input type=hidden name=page value=$laststr><input type=submit id=submitlast name=submit value=></form></td>";}
echo "</tr></table>";
 
за проленливата $laststr трябва да си преброиш резултатите и да сметнеш на колко страници ще са.
 
ами то кода който пратих си се нуждае от доста пипване за да ти тръгне на твоята системка. Иначе само за текущата страница аз съм направил следното:

имам променлива $curstr която е сегашната страница.

Всеки линк към страница с POST заявка изпраща номера на желаната страница.

Приел съм че ако текущата страница не е зададена със заявка, значи тя е първата т.е. страница 1 - $curstr=1; . Ако обаче е зададена $curstr приема тази стойност.

след това е лесно в цикалчето което ти извежда всичките страници да добавиш едно условие If ($curstr=$i){echo " <font ..... там новото форматиране на текста>";}
 

Back
Горе