Странициране от търсачката.

pisio

Registered
Проблема е че на първа страница листва всичките 12 резултата.
Прави линковете за страница 1 и 2 .Като ида на страница 2 , показва всичко както си е.

<?php
include('./conf.php');

$q = $_GET['q'];
$p = 10 ; # postove na stranica.
$ps = (isset($_GET['page']) ? $_GET['page']*$p : '0' ); # na4alnata stranica ot kolko da po4va

if ($q == "") {
$sql = "SELECT * FROM `{$table_prefix}db`";
if($ps != "") { $sql .= "LIMIT $ps,$p"; }
}else {
$sql = "SELECT * FROM `{$table_prefix}db` WHERE `bg` like '%$q%' OR `en` like '%$q%' OR `jp` like '%$q%' LIMIT $ps,$p ";
}

$query = mysql_query($sql);
$nums = mysql_num_rows($query);

/* ob6to kolko stranici deleno na broikata na stranica / 20/10 = 2 stranici , 12/10 = 2 stranici*/
if($nums > $p) {
$paged = ceil($nums/$p); /* paged e broq na stranicite */
} else {
$paged= '1';
}
echo $paged;
for($pages="0";$pages<=$paged;$pages++){
$links .= "[ <a href='?page=$pages'> <b>".($pages+1)."</b></a> ] ";
}



while($row = mysql_fetch_assoc($query)) {
/* $id = $row['id'];
$bg = $row['bg'];
$en = $row['en'];
$jp = $row['jp'];
$poster = $row['poster'];
$opisanie = $row['opisanie'];
$godina1 = $row['godina'];
$godina2 = $row['kraina'];
$epizodi = $row['epizodi'];
$dobaven = $row['dobaven'];
$ot = $row['ot'];
*/
print_r($row);
echo "<br>";
}

echo $links;
?>
 
Интегрирал ли си го с дизайн? Как ти представлява линка? На втората страница няма резултати така ли? :idea:
 
Не ги страницира правилно.
На първа странива листва всички 12 записа.
НА втора страница листва последните 2 , както трябв да е ,защото листва по 10 на страница...

Едит:// Справих се вече :)
Според някой може да не е най-удачният метод за странициране, но аз така мога , а както знаете , не се славя с кой знае какви програматорски знания :D / мечтата ми е да стана програматор, на пералния :D :D /


Код:
<?php
	include('./conf.php');

$q = $_GET['q'];
$p = 10 ; # postove na stranica.
if(isset($_GET['page'])) {
	$ps = $_GET['page'];
	if($ps == 1 ) {  $ps = 0;} else  {$ps = ($ps-1)*10; }
	
	}else {
	$ps = 0; 
	}
if ($q == "") { 
	$sql = "SELECT * FROM `{$table_prefix}db`";
	$sql2 = $sql;
	$sql .= "LIMIT $ps,$p";	
	}else {
	$sql = "SELECT * FROM `{$table_prefix}db` WHERE `bg` like '%$q%' OR `en` like '%$q%' OR `jp` like '%$q%' LIMIT $ps,$p ";
	}

$query = mysql_query($sql);
$numz = mysql_query($sql2);
$nums = mysql_num_rows($numz);
/* ob6to kolko stranici deleno na  broikata na stranica /   20/10 = 2 stranici , 12/10 = 2 stranici*/
if($nums > $p) {
	$paged = ceil($nums/$p); /* paged e  broq na stranicite */
	} else {
	$paged= '1';
	}

	for($pages="1";$pages<=$paged;$pages++){
	$links .= "[ <a href='?page=$pages'> <b>$pages</b></a> ] ";	
	}



while($row = mysql_fetch_assoc($query)) {
/*	$id = $row['id'];
	$bg = $row['bg'];
	$en = $row['en'];
	$jp = $row['jp'];
	$poster = $row['poster'];
	$opisanie = $row['opisanie'];
	$godina1 = $row['godina'];
	$godina2 = $row['kraina'];
	$epizodi = $row['epizodi'];
	$dobaven = $row['dobaven'];
	$ot = $row['ot'];
*/
	print_r($row);
	echo "<br>";
}
echo $links;
?>
 

Back
Горе