Странициране при темплейт система

jaffy

Registered
Някой има ли идея как може да стане странициране при темплейт системата на Жоро? (С MySQL) (трябва ми само малък пример, от там нататък ще се оправя)

Да кажем ,че искам да страницирам резултата който се вади в същия урок
http://web-tourist.net/login/login/view.php?st=2082

Опитах тука една саката история с урока за "Лесно Странициране" и общо взето резултата беше:
От общо 3 неща в базата на първа страница за показваше последното, на 2ра стр. се показваше първото и второто а на последна страница се показваше само последното.. чудно ми е как така го измисли да стане ама на..
 
Опа.. забравих за кода.. ето го и опита който не работи и за който ви говорих в по-горе написания пост: (Междодругото +1 / нали знаете.. :) )

test.tpl
Код:
{news.ID} - {news.title}<br/>
{news.text}<br/>
<hr>
{news.PREV} :: {news.NEXT}

test.php
Код:
<?php
include ("inc/template.php");
$template = new Template('.');
$template->set_filenames(array(
"index" => "test.tpl"
));
include ("inc/mysql.php");
include ("inc/settings.php");

$page = (int) $_GET['page'];
$max= $newslimit;
$end = $page+$max;
$next = $end+1;
$prev = $page-1; 

$sql = " SELECT * FROM news limit $page,$end";
$run = mysql_query( $sql );
while( $row=mysql_fetch_array( $run ) )
{
$template->assign_block_vars("news",array(
"ID" => $row['id'],
"title" => $row['title'],
"text" => $row['text'],
"NEXT" => "<a href=\"index.php?page=".$next."\">следваща</a>",
"PREV" => "<a href=\"index.php?page=".$prev."\">предишна</a>"
));
}
$template->pparse('index');
?>
 
Кое от двете Prev и Next визираш :)
$next = $end+1;
$prev = $page-1;

или това:

"NEXT" => "<a href=\"index.php?page=".$next."\">следваща</a>",
"PREV" => "<a href=\"index.php?page=".$prev."\">предишна</a>"
 
{news.ID} - {news.title}<br/>
{news.text}<br/>
<hr>
{news.PREV} :: {news.NEXT}


тук

гледам това
while( $row=mysql_fetch_array( $run ) )
{
$template->assign_block_vars("news",array(
"ID" => $row['id'],
"title" => $row['title'],
"text" => $row['text'],
"NEXT" => "<a href=\"index.php?page=".$next."\">следваща</a>",
"PREV" => "<a href=\"index.php?page=".$prev."\">предишна</a>"
));
}

тук буташ в темплейта много блокове със едно и също име
по не мисля че това е правилната логика.
по скоро news.PREV и news.NEXT да са извън цукъла и да се асайнват извън него.
 
Окей ето какво постройх обаче мисля ,че сега проблема упира в променливите на страницирането, когато натисна Next и мести по 2 страници напред, обаче нещо ми се губи за да разбера как точно да го преправя.. защото ако махна това $end+1 няма да мога да прелиствам, ето го и кода:

test.php
Код:
<?php
include ("inc/template.php");
$template = new Template('.');
$template->set_filenames(array(
"index" => "test.tpl"
));
include ("inc/mysql.php");
include ("inc/settings.php");

$page = (int) $_GET['page'];
$max= $newslimit;
$end = $page+$max;
$next = $end+1;
$prev = $page-1; 

$sql = "SELECT * FROM news limit $page,$end";
$run = mysql_query( $sql );
while( $row=mysql_fetch_array( $run ) )
{
$template->assign_block_vars("news",array(
"ID" => $row['id'],
"title" => $row['title'],
"text" => $row['text']
));
}
$template->assign_vars(array(
"NEXT" => "<a href=\"test.php?page=".$next."\">следваща</a>",
"PREV" => "<a href=\"test.php?page=".$prev."\">предишна</a>"
));
$template->pparse('index');
?>

test.tpl
Код:
{news.ID} - {news.title}<br/>
{news.text}<br/>
<hr>

{PREV} :: {NEXT}
 
Добре, оправих го с другия код за странициране, този не работи като хората, благодаря за насоките / +1!! :)
 

Горе