Проблем със системата за вицове.

creative09

Registered
Здравейте,
с тази система съм : http://web-tourist.net/login/login/view.php?st=1078
Та проблема е със страницирането.Когато в някоя категория има например 4 страници и в другите категории показва 4, но те примерно имат 2 страници.Как да го оправя?
Благодаря предварително.. :D
 
ми направи си към mysql заявката да гледа от коя категория по колко вица имаш и след това ги разделяй,в смисъл следното имам напредвид:

PHP:
$query = "SELECT COUNT(*) AS neshto FROM vicove WHERE cat_id=5";

това е много примерен код и страницирай взависимост от това,колко резултата ти вади от самата заявка ;)
 
Може ли да покажеш как става точно на тази система, че не съм на "ти" с нещата :)
 
такаааа,самата система имаше ли си странициране или ти си си го вграждал,че не помня как беше.Иначе то няма значение коя система,ти си дописваш просто системката :)

Малко код ми дай и ще ти го направя :)
 
Системата има странициране.Ето ей тук искам да го направиш:
PHP:
<?php 

$id_cat=$_GET['id_cat']; 
mysql_connect($server, $dbusername, $dbpassword)or die("Сайтът не може да се свърже към базата данни"); 
@mysql_select_db($db_name) or die("Грешна база данни"); 


$pp = "10"; 



$total = mysql_result(mysql_query("SELECT COUNT(id_vic) FROM vicove"),0); 
$numofpages = $total / $pp; 
if (!isset($_GET['page'])) { 
$page = 1; 
} 
else { 
$page = $_GET['page']; 
} 
$limitvalue = $page * $pp - ($pp); 


$query = "SELECT * FROM vicove WHERE id_cat='$id_cat' ORDER BY id_vic DESC LIMIT $limitvalue, $pp"; 
$result = mysql_query($query); 
while($r=mysql_fetch_array($result)) 
{ 

$vic=$r[vic]; 
$potrebitel=$r[potrebitel]; 
$vreme=$r[vreme]; 
$email=$r[email]; 


echo "
Добавил : <b><font color=\"#ff7200\">$potrebitel</font></b> | Дата : $vreme
<br />
<fieldset> $vic </fieldset>
<hr />
<br />
"; 
} 


?> 
<?php 
echo 'Общо страници: '.round($numofpages).'<br>'; 
?> 

<center> 
<?php 

function per_page($link, $offset) { 
global $numofpages, $page; 
$numofpages = round($numofpages); 

$pagesstart = round($page-$offset); 
$pagesend = round($page+$offset); 


if ($page != "1" && round($numofpages) != "0") { 
echo str_replace("%page", round($page-1), '<a href="'.$link.'"><font face="Trebuchet MS">«</font></a> '); 
} 

for($i = 1; $i <= $numofpages; $i++) { 
if ($pagesstart <= $i && $pagesend >= $i) { 
if ($i == $page) { 
echo "<b>[$i]</b> "; 
} 
else { 
echo str_replace("%page", "$i", '<a href="'.$link.'">'.$i.'</a> '); 
} 
} 
} 
if (round($numofpages) == "0") { 
echo "[$i]"; 
} 

if ($page != round($numofpages) && round($numofpages) != "0") { 
echo str_replace("%page", round($page+1), '<a href="'.$link.'"><font face="Trebuchet MS">»</font></a>'); 
} 
} 

per_page("?id_cat=$id_cat&page=%page", "5"); 
?>
 
Пробвай така и ми кажи дали става :)

PHP:
<?php 

$id_cat=$_GET['id_cat']; 
mysql_connect($server, $dbusername, $dbpassword)or die("Сайтът не може да се свърже към базата данни"); 
@mysql_select_db($db_name) or die("Грешна база данни"); 


$broinastranica = 10;
$pageNum = 1; 
if(isset($_GET['page']))
{
$pageNum = $_GET['page'];
} 
$redove = ($pageNum - 1) * $broinastranica;

$query = "SELECT * FROM vicove WHERE id_cat='$id_cat' ORDER BY id_vic DESC " .
" LIMIT $redove, $broinastranica"; 
$result = mysql_query($query); 
while($r=mysql_fetch_array($result)) 
{ 

$vic=$r[vic]; 
$potrebitel=$r[potrebitel]; 
$vreme=$r[vreme]; 
$email=$r[email]; 


echo "
Добавил : <b><font color=\"#ff7200\">$potrebitel</font></b> | Дата : $vreme
<br />
<fieldset> $vic </fieldset>
<hr />
<br />
"; 
} 

$query = "SELECT COUNT(*) AS numrows FROM vicove WHERE id_cat='$id_cat'";
$result = mysql_query($query) or die('Грешка в SQL');
$row = mysql_fetch_array($result);
$numrows = $row['numrows'];
$maxPage = ceil($numrows/$broinastranica);
$self = $_SERVER['PHP_SELF'];
$nomeranastranici = '';
echo "<br />";
for($page = 1; $page <= $maxPage; $page++)
{
if ($page == $pageNum)
{
$nomeranastranici .= "<a href='' ><font color='red' size='1'> $page</font></a>";
}
else
{
$nomeranastranici .= " <a href=\"$self?page=$page\" ><font size='1' color='white'><font size='1'>$page</font></a>";
}
}
if ($pageNum > 1)
{
$page = $pageNum - 1;
$predishna = " <a href=\"$self?number=".$number_from1."&page=$page\" ><font size='1' color='white'> <font size='1'>[<<<<<]</font> </a> ";

$parva = " <a href=\"$self?number=".$number_from1."&page=1\" ><font size='1' color='white'><font size='1'>[първа]</font></a> ";
}
else
{
$predishna = '';
$parva = '';
}
if ($pageNum < $maxPage)
{
$page = $pageNum + 1;
$sledvashta = " <a href=\"$self?page=$page\" ><font size='1' color='white'><font size='1'> [>>>>>] </font></a> ";
$posledna = " <a href=\"$self?page=$maxPage\" ><font size='1' color='white'><font size='1'>[последна]</font></a> ";
}
else
{
$sledvashta = ' ';
$posledna = ' ';
}
echo "<center>".$parva." ".$predishna." ".$nomeranastranici." ".$sledvashta." ".$posledna."</center>"; 
?>

само си промени при страници да не е font color=white а на някакъв друг цвят,че ако фона на страницата ти е бял,няма да го виждаш :idea:
 
Сега на втората страница не ми показва вицове.
А когато я отворя линка и е view.php?page=2
 
знчи,промени си линка,да не е view, а страницата ти,и виж провери заявката си да не съм сбъркал с някое поле от таблицата в MySQL
 

Back
Горе