10/10/2018, 09:54
[HELP] Giúp mình cách hiển tin ra index PHP
Giúp mình hướng giải quyết để hiện tin ra trang index như của thanhnien, tuoitre,...
Giờ làm sao để query ra như vậy được nhỉ!?
+ Liệt kê tất cả các chuyên mục ra index & Ở mỗi chuyên mục:
++ Hiện 1 tin mới nhất gồm: (Phần này m biết)
+++ Tiêu đề
+++ Hình ảnh
+++ Tóm tắt
++ Limit 4 tin liên quan đến chủ đề đó (Phần này m biết)
++ Hiện 1 tin mới nhất gồm: (Phần này m biết)
+++ Tiêu đề
+++ Hình ảnh
+++ Tóm tắt
++ Limit 4 tin liên quan đến chủ đề đó (Phần này m biết)
Bài liên quan
$record (id, title, cat, image,desc)
Ý mình là ở trang Index nó hiện thế này nè:
++ Hiện 1 tin mới nhất gồm:
+++ Tiêu đề
+++ Hình ảnh
+++ Tóm tắt
++ Limit 4 tin liên quan đến chuyên mục đó
Tên chuyên mục 2
++ Hiện 1 tin mới nhất gồm:
+++ Tiêu đề
+++ Hình ảnh
+++ Tóm tắt
++ Limit 4 tin liên quan đến chuyên mục đó
Tên chuyên mục 3
++ Hiện 1 tin mới nhất gồm:
+++ Tiêu đề
+++ Hình ảnh
+++ Tóm tắt
++ Limit 4 tin liên quan đến chuyên mục đó
...........
Dùng câu truy vấn sau để lấy danh sách các chuyên mục có bài viết:
tbl_news gồm (id, title, catid, image, desc) : catid chính là id của chuyên mục tương ứng bên tbl_category
tbl_category gồm (id, name)
Mà sao mình đưa thêm code limit 4 bài viết liên quan vào vòng WHILE của code này thì nó chỉ hiện ra 1 chuyên mục thôi mà ko lặp cho hết chuyên mục nhỉ!??
<?php
$result=mysql_query("SELECT DISTINCT catid FROM tbl_news"); // truy vần để lấy danh sách các chuyên mục có bài viết
// Bắt đầu lặp lấy chuyên mục
while ($row=mysql_fetch_array($result)){
$category=$row***91;0***93;;
$sql="SELECT *,name FROM tbl_news, tbl_category WHERE tbl_news.catid=$category AND tbl_category.id=$category LIMIT 0,1";
$subresult=mysql_query($sql);
$subrow=mysql_fetch_array($subresult);
echo "<b>Categroy: ".$subrow***91;'name'***93;."</b><br />";// Tên chuyên mục
echo '- '.$subrow***91;'title'***93;.'<br />';
echo '- '.$subrow***91;'image'***93;.'<br />';
echo '- '.$subrow***91;'desc'***93;.'<br />';
echo 'Tin bài liên quan';
// Hiện các bài liên quan
// Thực hiện truy vấn
// Lấy ra 4 bản tin khác với tin đang xem bằng cách dùng $subrow***91;'catid'***93;
// $subrow***91;'catid'***93; lấy ở trên xuống là id của tin hiện tại khi thực hiện xong truy vấn trên.
$query = "SELECT * FROM tbl_news WHERE (catid =".$subrow***91;'catid'***93;." AND (".$subrow***91;'newsid'***93;." < newsid OR ".$subrow***91;'newsid'***93;." > newsid)) ORDER BY ngaydang DESC LIMIT 0,5";
$result = mysql_query($query);
$record = mysql_fetch_assoc($result);
$i=1;
// Bắt đầu lặp lấy tin bài liên quan
while ($record = mysql_fetch_assoc($result)) {
?>
<a href="index.php?trang=viewnews&id=<?php echo $record***91;'newsid'***93;; ?>"> <?php echo $record***91;"tieude"***93;; ?></a> (<?php echo $record***91;"ngaydang"***93;; ?>)
<?php
$i++;
} // While lặp tin liên quan
} // While lặp chuyên mục
?>