[Help] Page System проблем с пращане в следваща страница

Holder

New Member
Joined
Dec 27, 2010
Messages
434
Reaction score
43
В сайт за вицове страницата е за 10 вица и аз съм сложол 11 вица и следователно, като цъкна най-отдолу на страница 2 трябва да ме метне на 2-рата страница с 11-тият виц, но вместо това ме мята на друго място и не знам защо.

Това е кода за следваща страница (той се намира най-отдолу на цялата страница). При него трябва да е объркано нещо мисля.

Code:
<?

make_next_previous_with_number( $from, $SQL, $this_file_name, $get_vars ,$display_nr);
?>

А това е целият код на страницата :

Code:
<?
include(DIR_LNG.'jokes_category_with_jokes_form.php');
	if (!$HTTP_GET_VARS['cat_id'])
		$post_string = TEXT_ALL_CATEGORIES;
	else
	{
		$select_category_name_SQL = "select * from $database_table_name1 where category_id='".$HTTP_GET_VARS['cat_id']."'";
		$select_category_name_query = bx_db_query($select_category_name_SQL);
		SQL_CHECK(0,"SQL Error at ".__FILE__.":".(__LINE__-1));
		$select_category_name_result = bx_db_fetch_array($select_category_name_query);
		$post_string = "'<b>".$select_category_name_result['category_name'.$slng]."</b>' ".TEXT_CATEGORY;
	}
?>
<tr valign="top">
	<td>

<?

if($mode != "random" && $mode != "search")
{
	$from = $HTTP_GET_VARS['from'];
	$result_array = step( $HTTP_GET_VARS['from'], $item_back_from, $SQL, $display_nr);
}

echo "<table width=\"100%\"><tr><td align=\"center\"><b><font size=\"3\" font-family=\"verdana\" color=\"".TOP_JOKES_PAGE_TITLE_FONTCOLOR."\">"."&nbsp;&nbsp;".$type." ".$post_string."&nbsp;&nbsp;"."</font></td></tr></table><br></b>";

if (sizeof($result_array) == 0)
{
?>
		<table align="center" border="0" cellspacing="0" cellpadding="0" width="100%">
		<tr align="center">
			<td colspan="4" align="center">
				<table align="center" border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="<?=THERE_ARE_NO_JOKES_BORDERCOLOR?>">
					<tr><td>
						<table align="center" border="0" cellspacing="0" cellpadding="0" width="100%" bgcolor="<?=THERE_ARE_NO_JOKES_INTERNAL_BGCOLOR?>">
							<tr><td align="center" style="color:<?=THERE_ARE_NO_JOKES_FONT_COLOR?>">
								<br><b><?=TEXT_NO_JOKES?></b><br><br>
							</td></tr></table>
						</td></tr></table>
			</td>
		</tr>
		</table>
<?
}
for( $i = 0 ; $i < sizeof($result_array) ; $i++ )
{
?>
		<table align="center" border="0" cellspacing="0" cellpadding="1" width="90%">
		<tr>
			<td background="images/head_bg.jpg" bgcolor="<?=SHORT_JOKE_TITLE_HEAD_BGCOLOR?>" width="5%">
<?
$new_res = '<img src="'.HTTP_LANG_IMAGES.'new.gif" border="0" alt="">';
echo $new_res = (date('Y-m-d',mktime (0,0,0,date('m'),date('d')-$newperiod_for_jokes-1,date('Y'))) < $result_array[$i]['date_add'] ? $new_res : "&nbsp;");
?>
			</td>
			<td background="images/head_bg.jpg" bgcolor="<?=SHORT_JOKE_TITLE_HEAD_BGCOLOR?>" align="center" width="95%">
				<font size="<?=JOKE_TOPHEADER_FONT_SIZE?>" color="<?=JOKE_TOPHEADER_FONT_COLOR?>"><b><?=TEXT_JOKE_POSTED?></b> <b><?=$result_array[$i]['name'];?></b> <?=TEXT_AT?> <?=$result_array[$i]['date_add'];?></font>
			</td>
		</tr>
		<tr>
			<td colspan="2" bgcolor="<?=SHORT_JOKE_TITLE_BORDERCOLOR?>" >
				<table align="center" border="0" cellspacing="0" cellpadding="2" width="100%" bgcolor="<?=SHORT_JOKE_TITLE_BGCOLOR?>">
<?
$get_extra= ($HTTP_POST_VARS['adv_search']=="1" || $HTTP_GET_VARS['adv_search']=="1" ? "&adv_search=1" : "").($HTTP_POST_VARS['x'] =="1" ? "&q_search=1" : "");
?>
				<tr>
					<td colspan="2">
						<font size="<?=SHORT_JOKE_TITLE_FONT_SIZE?>" color="<?=SHORT_JOKE_TITLE_FONTCOLOR?>">&nbsp;<?=$from+$i+1?>.-</font>
						<a href="<?=HTTP_SERVER?>jokes.php?joke_id=<?=$result_array[$i]['joke_id']?><?=$get_extra?>&cat_id=<?=$HTTP_GET_VARS['cat_id']?>&jtype=<?=$jtype?>" style="text-decoration:none;color:<?=SHORT_JOKE_TITLE_FONTCOLOR?>;font-weight:bold"><?=$result_array[$i]['joke_title']?></a>
						<br>
						&nbsp;<font size="<?=SHORT_JOKE_TEXT_SIZE?>" color="<?=SHORT_JOKE_TEXT_COLOR?>"><?=short_string($result_array[$i]['joke_text'], $joke_listing_show_characters, "...");?></font>
					</td>
				</tr>
				<tr>
					<td align="right" style="font-size:9pt;color:<?=SHORT_JOKE_RATE_EMAIL_FONT_COLOR?>" colspan="2">
						&nbsp;<b><?=TEXT_RATE?>
						<?
						if($result_array[$i]['rating_value'] > 0)
						{
							for ($star=0;$star<$result_array[$i]['rating_value'] && $result_array[$i]['rating_value'] != '0';$star++ )
							{
								echo "<img src=\"".DIR_IMAGES."star2.gif\" border=\"0\">";
							}
						}
						elseif($result_array[$i]['rating_value'] == '0' || $result_array[$i]['rating_value']='NULL' || $result_array[$i]['rating_value']=='')
								echo "0";
							?>
						
						</b>,
						&nbsp;<b><?=TEXT_EMAILED?></b>&nbsp;<?=$result_array[$i]['emailed_value'];?>&nbsp;&nbsp;&nbsp;
					</td>
				</tr>
				</table>
			</td>
		</tr>
		</table>
		<br>

<?
}
?>

		<table align="center" border="0" cellspacing="0" cellpadding="0" width="100%">
		<tr>
			<td>
<?

make_next_previous_with_number( $from, $SQL, $this_file_name, $get_vars ,$display_nr);
?>
			</td>
		</tr>
		</table>
	</td>
</tr>
 
От този код
Code:
<?

make_next_previous_with_number( $from, $SQL, $this_file_name, $get_vars ,$display_nr);
?>
имаш само $from и $display_nr къде са другите променливи $SQL, $this_file_name, $get_vars?
 
Last edited:
Значи проблема е, че ме праща в:
/jokes_category.php?from=30
(from=30) - е да търси вицове от 20 до 30

А трябва да ме прати в:
/jokes_category.php?from=30&cat_id=1
И тук е правилното, защото търси и категорията .. и проблема е, че ме праща в горния линк а не в този.. тоест като цъкна 2 най долу, демек да ме прати във втора страница, не му е зададено да търси от коя категория.. и дефакто стигам до нищото, ама нямам никаква идея как да го оправя.


ivowe3 мисля, че това е функцията, която вика и което ти трябва или бъркам:
Code:
/****************************************************/
// Next prevoius using numbers
/****************************************************/
function make_next_previous_with_number($from, $SQL, $filename, $vars, $display_nr)
{

	$count = bx_db_num_rows(bx_db_query($SQL));
	@$active = ($from+$display_nr) / $display_nr;
	@$total_pages =  ceil($count/$display_nr);

	if ($active <= $display_nr)
	{
		if ($active>1)
		{
			echo "<a href='".$filename."?from=0&".$vars."'><img src=\"".DIR_IMAGES."first.gif\" border=\"0\"></a>&nbsp;&nbsp;<a href='".$filename."?from=".($active*$display_nr-2*$display_nr)."&".$get_vars = "cat_id=".$cat_id."'><img src=\"".DIR_IMAGES."previous.gif\" border=\"0\"></a>&nbsp;&nbsp;";
		}

		for ( $i = 1 ; $i <($active + $display_nr) && $total_pages >=$i ; $i++ )
		{
			if ($active == $i)
			{
				if ($count > $display_nr)
					echo "<b>".$i."</b> ";
			}
			else
				echo "<a href='".$filename."?from=".($i*$display_nr-$display_nr)."&".$vars."'>".$i."</a> ";
		}
		if ($count > $active && $count > $active*$display_nr)
		{
			echo "&nbsp;&nbsp;<a href='".$filename."?from=".($active*$display_nr)."&".$vars."'><img src=\"".DIR_IMAGES."next.gif\" border=\"0\"></a>"; 
			echo "&nbsp;&nbsp;<a href='".$filename."?from=".(ceil($count/$display_nr)*$display_nr-$display_nr)."&".$vars."'><img src=\"".DIR_IMAGES."last.gif\" border=\"0\"></a>";
		}
	}
	else
	{

		if ($active>1)
		{
			echo "<a href='".$filename."?from=0&".$vars."'><img src=\"".DIR_IMAGES."first.gif\" border=\"0\"></a>&nbsp;&nbsp;<a href='".$filename."?from=".($active*$display_nr-2*$display_nr)."&".$vars."'><img src=\"".DIR_IMAGES."previous.gif\" border=\"0\"></a> ";
		}

		for ( $i = $active - $display_nr ; $i < ($active + $display_nr) && $total_pages >= $i ; $i++ )
		{
			if ($active == $i)
				echo "<b>".$i."</b> ";
			else
				echo "<a href='".$filename."?from=".($i*$display_nr-$display_nr)."&".$vars."'>".$i."</a> ";
		}

		if ($count > $active * $display_nr)
		{
			echo "<a href='".$filename."?from=".($active*$display_nr)."&".$vars."'><img src=\"".DIR_IMAGES."next.gif\" border=\"0\"></a>";
			echo "&nbsp;&nbsp;<a href='".$filename."?from=".(ceil($count/$display_nr)*$display_nr-$display_nr)."&".$vars."'><img src=\"".DIR_IMAGES."last.gif\" border=\"0\"></a>";
		}
	}

}
 
Last edited: