10/10/2018, 09:54

Làm sao giới hạn số tin trên một trang ???

Em mới làm web nên nhờ người ta thiết kế, em tìm được cái file pho quy định số trang nhưng em kô hiểu làm sao để quy định GIỚI HẠN SỐ TIN TRÊN MỘT TRANG?
Bác nào coi giúp em cái đoạn php ở dưới rùi chỉ em sửa chỗ nào nha
<?php

/*=================================*

|| +++++++++++++++++++++++++++++++ ||

|| + DNT NEWS EXPRESS + ||

|| + ------------------------- + ||

|| + Code by diepnghitinh + ||

|| + phat trien boi xtremedia + ||

|| + Y!m : nguyen2242x@yahoo.com + ||

|| +++++++++++++++++++++++++++++++ ||

*=================================*/



if (!defined('IN_NEWS')) die("<center>thao t&#225;c kh&#244;ng th***7875; th***7921;c hi***7879;n</center>");



//////////////////// ======= VIEW CAT ======= ////////////////////

function view_cat(){

global $db_type,$tpl,$input;



//////////////////// block cat ////////////////////

$file_tpl = 'view_cat';

$main = $tpl->get_main($file_tpl);

$vc['VIEW_CAT'] = $tpl->get_block_from_str($main,'VIEW_CAT',1);

//////////////////// block cat ////////////////////



if(isset($_GET["cat"]))

{

$cat_id = intval($_GET["cat"]);

$counter = intval($_GET["page"]);

if(!empty($counter))

{

$page = $counter;

}

else

{

$page = 1;

}

$limit = page(); //so tin tren 1 trang

$adjacents = 1;

$query = "SELECT COUNT(*) as num FROM ".$db_type."news where categoryidn = ".$cat_id."";

$total_pages = mysql_fetch_array(mysql_query($query));

$total_pages = $total_pages[num];

if($page)

$start = ($page - 1) * $limit;

else

$start = 0;

$query = "SELECT * FROM ".$db_type."news where categoryidn = ".$cat_id." order by newsid desc LIMIT $start, $limit";

$portfolio = mysql_query($query) or die (mysql_error()); //portfolio

if ($page == 0) $page = 1;

$prev = $page - 1;

$next = $page + 1;

$lastpage = ceil($total_pages/$limit);

$lpm1 = $lastpage - 1;

$pagination = "";



if($page <= $lastpage)

{

}

else

{

$error = "<font class='font_loi'><center>ch***432;a c&#243; th&#244;ng tin</center></font>";

return $error;

}





if($lastpage > 1)

{

$pagination .= "<div class="pagination">";

if ($page > 1)

$pagination.= "<a href="?dnt=/view/&cat=$cat_id&page=$prev" class="title" style="text-decoration: none">trang tr***432;***7899;c</a>";

else

$pagination.= "<span class="disabled">trang tr***432;***7899;c</span>";

if ($lastpage < 7 + ($adjacents * 2))

{

for ($counter = 1; $counter <= $lastpage; $counter++)

{

if ($counter == $page)

$pagination.= "<span class="current">$counter</span>";

else

$pagination.= "<a href="?dnt=/view/&cat=$cat_id&page=$counter" class="title" style="text-decoration:none">$counter</a>";

}

}

elseif($lastpage > 5 + ($adjacents * 2))

{

if($page < 1 + ($adjacents * 2))

{

for ($counter = 1; $counter < 2 + ($adjacents*2); $counter++)

{

if ($counter == $page)

$pagination.= "<span class="current">$counter</span>";

else

$pagination.= "<a href="?dnt=/view/&cat=$cat_id&page=$counter" class="title" style="text-decoration: none">$counter</a>";

}

$pagination.= "...";

$pagination.= "<a href="?dnt=/view/&cat=$cat_id&page=$lpm1" class="title" style="text-decoration: none">$lpm1</a>";

$pagination.= "<a href="?dnt=/view/&cat=$cat_id&page=$lastpage" class="title" style="text-decoration: none">$lastpage</a>";

}

elseif($lastpage - ($adjacents * 2) > $page && $page > ($adjacents * 2))

{

$pagination.= "<a href="?dnt=/view/&cat=$cat_id&page=1" class="title" style="text-decoration: none">1</a>";

$pagination.= "<a href="?dnt=/view/&cat=$cat_id&page=2" class="title" style="text-decoration: none">2</a>";

$pagination.= "...";

for ($counter = $page - $adjacents; $counter <= $page + $adjacents; $counter++)

{

if ($counter == $page)

$pagination.= "<span class="current">$counter</span>";

else

$pagination.= "<a href="?dnt=/view/&cat=$cat_id&page=$counter" class="title" style="text-decoration: none">$counter</a>";

}

$pagination.= "...";

$pagination.= "<a href="?dnt=/view/&cat=$cat_id&page=$lpm1" class="title" style="text-decoration: none">$lpm1</a>";

$pagination.= "<a href="?dnt=/view/&cat=$cat_id&page=$lastpage" class="title" style="text-decoration:none">$lastpage</a>";

}

else

{

$pagination.= "<a href="?dnt=/view/&cat=$cat_id&page=1" class="title" style="text-decoration: none">1</a>";

$pagination.= "<a href="?dnt=/view/&cat=$cat_id&page=2" class="title" style="text-decoration: none">2</a>";

$pagination.= "...";

for ($counter = $lastpage - (2 + ($adjacents * 2)); $counter <= $lastpage; $counter++)

{

if ($counter == $page)

$pagination.= "<span class="current">$counter</span>";

else

$pagination.= "<a href="?dnt=/view/&cat=$cat_id&page=$counter" class="title" style="text-decoration: none">$counter</a>";

}

}

}

if ($page < $counter - 1)

$pagination.= "<a href="?dnt=/view/&cat=$cat_id&page=$next" class="title" style="text-decoration: none">trang sau</a>";

else

$pagination.= "<span class="disabled">trang sau</span>";

$pagination.= "</div> ";

}



while($item = mysql_fetch_array($portfolio))

{

$row_id = $item[newsid];

$row_id_md5 = md5($row_id);

$row_cat_id = intval($item[categoryidn]);

$row_title = $item[title];

$row_pics = $item[picurl];

$row_mieuta = $item[mieuta];



if (isset($_GET["cat"]))

{

if ($_GET["cat"]=="$row_cat_id")

{

$html .= $tpl->assign_vars($vc['VIEW_CAT'],array('NEWS_ID'=>$row_id,'NEWS_TITLE'=>cut_string ($row_title,70,1),

'MIEU_TA'=>cut_string($row_mieuta,300,1),'LINK_PIC '=>pic("$row_id","$row_id_md5")));

}

}

}

$html .= "<center>".$pagination."</center>";

}

else

{

$error = "<font class='font_loi'>thao t&#225;c kh&#244;ng th***7875; th***7921;c hi***7879;n</font>";

return $error;

}

$html = $tpl->assign_blocks_content($main,array('VIEWCAT'=>$htm l));

return $html;

}

//////////////////// ======= VIEW CAT ======= ////////////////////



?>
ngoc_viet08 viết 12:03 ngày 10/10/2018
quá dài ... nên nghiên cứu thuật giải đi rồi tự viết code khỏe hơn .
trinhdiep viết 12:10 ngày 10/10/2018
không biết php nên không biết viết thế nào. Song trong sql cũng có thể làm được bằng cách chỉ lấy một sô lượng tin nhất định trong tất cả các tin swr dụng hàm Limit và offset. ví dụ:
SELECT name FROM employee ORDER BY name ASC LIMIT 99 OFFSET 9999
(lấy tên 99 nhân viên sau 9999 nhân viên)
cách này cũng giảm lượng thời gian xử lý rất nhiều
có thể tạo procedure để trả về theo số trang nhất định
procedure: PageEmployee(int pageSize, int pageOder,out int pageCount)
www.quydo.com viết 12:06 ngày 10/10/2018
tại em không có thời gian nghiên cứu, em chỉ có 1 tháng để làm hoàn chỉnh đó, còn post bài lên nữa, nhiều lắm, nên anh nào xem php được thì chỉ giúp em với
ngoc_viet08 viết 12:00 ngày 10/10/2018
ối xem cái code mà nản quá . đã lập trình oop mà còn để lằng nhằng thế kia thì thà viết code php sinh ra html đơn giản cho rồi !
bác này làm ăn ẩu đả quá . phải lưu các giá trị đặc biệt thành các biến ở trên như biến số tin trên 1 trang gì đó chứ T_T
www.quydo.com viết 11:59 ngày 10/10/2018
Được gửi bởi ngoc_viet08
ối xem cái code mà nản quá . đã lập trình oop mà còn để lằng nhằng thế kia thì thà viết code php sinh ra html đơn giản cho rồi !
bác này làm ăn ẩu đả quá . phải lưu các giá trị đặc biệt thành các biến ở trên như biến số tin trên 1 trang gì đó chứ T_T
tại nó muốn lấy tiền em mà bác bác rảnh chỉ giúp em với
ngoc_viet08 viết 11:58 ngày 10/10/2018
nhìn mún lòi mắt .
đây là code query để lấy các tin ra .
$query = "SELECT * FROM ".$db_type."news where categoryidn = ".$cat_id." order by newsid desc LIMIT $start, $limit";
giới hạn mẩu tin là :
$limit = page(); //so tin tren 1 trang
hàm page() thì em chịu luôn . vì nó ko có trong trang này .
vì hình như nó còn chèn cái file gì vào . phải xem mới biết được!
if (!defined('IN_NEWS')) die("<center>thao tác không thể thực hiện</center>");
bác thử thay dòng :
$limit = page(); //so tin tren 1 trang
thành như thế này xem :
$limit = 10; //10 tin tren 1 trang , thich bao nhieu thi thay doi
ai lập trình mà ko support gì hết vậy . thắc mắc gì bác nên hỏi người làm ra chứ . em làm web cho ai , em cũng support đầy đủ . hỗ trợ khách hàng là 1 phần của dịch vụ !
diepnghitinh viết 11:54 ngày 10/10/2018
Được gửi bởi ngoc_viet08
nhìn mún lòi mắt .
đây là code query để lấy các tin ra .

giới hạn mẩu tin là :

hàm page() thì em chịu luôn . vì nó ko có trong trang này .
vì hình như nó còn chèn cái file gì vào . phải xem mới biết được!


bác thử thay dòng :

thành như thế này xem :


ai lập trình mà ko support gì hết vậy . thắc mắc gì bác nên hỏi người làm ra chứ . em làm web cho ai , em cũng support đầy đủ . hỗ trợ khách hàng là 1 phần của dịch vụ !
đúng là mình không có thói quen chú thích trong code ! Nhưng source này là source mở mà?? lạ nhỉ??

Được gửi bởi www.quydo.com
tại nó muốn lấy tiền em mà bác bác rảnh chỉ giúp em với
Theo như lời quydo.com nói thì hình như bạn bị ai đó lừa rồi! CODE này tôi chính là tác giả và đã share code rộng rãi trên mạng, ai đó vô tình download về và bán nó cho bạn thì phải!??
Bài liên quan
0