Странициране

nanov_91

Registered
Използвам този код за странициране и искам да попитам как ще стане кода така че да ми опказва резултатите на нов ред?


Код:
<?
$g=opendir("subs/");
while ($fajl= readdir( $g ) )
{
if(!is_dir($fajl) && !is_link($fajl) && $fajl != ".." && $fajl != ".") {
$fm[]=$fajl;
}
}

closedir ($g);


sort($fm) ; // за нуждата от тази функция виж по-долу


$broinastranica = 5;
$pageNum = 1;

if(isset($_GET['page']))
{
$pageNum =$_GET['page'];
$start = ($pageNum - 1) * $broinastranica;
}
else
{
$start=0;
}



$kolko=count ($fm);

for($i = $start; $i < ($start+$broinastranica); $i++){
$z= $fm[$i];
echo("subs/$z");
if ($i==$kolko) break;
}


$maxPage = ceil($kolko/$broinastranica);

$self = $_SERVER['PHP_SELF'];
$nomeranastranici = '';

for($page = 1; $page <= $maxPage; $page++)
{
if ($page == $pageNum)
{
$nomeranastranici .= " $page ";
}
else
{
$nomeranastranici .= " <a href=\"$self?page=$page\" >$page</a> ";
}
}

if ($pageNum > 1)
{
$page = $pageNum - 1;
$predishna = " <a href=\"$self?page=$page\" > << </a> ";

$parva = " <a href=\"$self?page=1\" >FIRST page</a> ";
}
else
{
$predishna = ' ';
$parva = ' ';
}

if ($pageNum < $maxPage)
{
$page = $pageNum + 1;
$sledvashta = " <a href=\"$self?page=$page\" > >> </a> ";

$posledna = " <a href=\"$self?page=$maxPage\" >LAST page</a> ";
}
else
{
$sledvashta = ' ';
$posledna = ' ';
}

echo $parva . $predishna . $nomeranastranici . $sledvashta . $posledna;
?>
 
echo "<A HREF=\"subs/$z\">subs/$z</A><BR> ";

Можеш да добавяш ХТМЛ-тагове свободно...

ПП: Поне едно "Благодаря" да беше казал в предишната тема, ако не на мен, то поне на Админ, който помогна за този код, защото даже забележката си помня и ехото, на което слагах скоби като поп... ;)
 
Едно Голямо Благодаря!!!Просто нямах възможност.Туку що сядам на компютъра от 2 дена.И сега пак благодаря!!! :D :D
 
Н.п, не се притеснявай :)
Аз също трябва да благодаря на много хора тук.
Просто него вечер въртях до късно страницата, за да видя какво си направил и като не видях ново мнение по темата реших, че нещо не е станало и си потърсил друго решение...

Успех с кода!
 
DJCharge, провери дали няма Fhumb.db файл в папката. Ако име а е от него проблема.
 
Така както го даде хептем бъгясва.

По-скоро $z= $fm[$i-1]; ама така пък се появява на първа страница в началото.. иначе файловете са точно толкова, колкото изписва!

Отивам да си направя
coffee.gif
и после ще експериментирам /освен ако някой не е намерил решение/. :?:
 
Не си махнал забраната break, нали? ;)
няма кое друго да спре цикъла :)

Ако имаш поддиректории и тях ги вкарва в масива(не знам защо - уж има условеи-забрана), но проблемът е някъде в записа - дава един празен елемент в масива и ако листенш стойността на $колко ще го видиш. Проблемът е в МОЯ запис най-вероятно, защото едва преди месец го забелязах и в други операции с масиви, които съм правил.

Вариант за поправка, ако ен откриеш причината за проблема:

for($i = $start; $i < ($start+$broinastranica); $i++){
$z= $fm[$i];
echo("subs/$z");
if ($i==($kolko -1)) break;
}

Просто коригираш условието за спиране...

Успех!
 

Back
Горе