10/10/2018, 09:55

hiển thị nội dung từ csdl lên màn hình [php]

Code:
<?php include("dbconnect.php"); ?>
<h2>View My Guest Book!!</h2>
<?php
 $result = mysql_query("select * from guestbook") or die (mysql_error());
 while ($row = mysql_fetch_array($result))
 {
         echo "<b>Name:</b>"; 
         echo $row["name"];
         echo "<br>
";
         echo "<b>Location:</b>";
         echo $row["location"]; 
         echo "<br>
";
         echo "<b>Email:</b>";
         echo $row["email"]; 
         echo "<br>
";
         echo "<b>URL:</b>"; 
         echo $row["url"]; 
         echo "<br>
"; 
         echo "<b>Comments:</b>"; 
         echo $row["comments"]; 
         echo "<br>
"; 
         echo "<br>
"; 
         echo "<br>
";
 }
 mysql_free_result($result);
?>
<h2><a href="sign.php">Sign My Guest Book!!</a></h2>
trên là code hiển thị dữ liệu của mình,nhưng mình muốn nó hiển thị theo chiều mới nhất ở trên cùng và xuống dần, cuối cùng là tin cũ nhất thì làm sao nhỉ?
và làm sao để giới hạn số tin hiển thị cũng như phân trang cho nó
sa01 viết 12:12 ngày 10/10/2018
muốn hiển thị mới nhất từ trên xuống nhưng theo điều kiện gì bạn?
bạn chèn thêm order by sau chuỗi sql thì nó hiển thị được thông tin tăng dần hay giảm dần.
Ví dụ: select * from guestbook order by name DESC
chữ DESC là giảm dần
thay cái đó = ASC thì sẽ tăng dần ... thấy trong ddth đang có người hỏi phân trang thì phải bạn coi lại nha
thuyduongcd viết 12:05 ngày 10/10/2018
Nói mới nhất và cũ nhất, bạn phải nghĩ ngay đến thời gian. Vậy thì thêm 1 field 'date' vào trong table, giá trị field này là thời điểm cập nhật record.
Sau đó thì dùng câu truy vấn
Code:
select * from guestbook order by date DESC
KuJangSung viết 12:10 ngày 10/10/2018
ohm! thanks mấy bác nhìu mà hình như db của em chỉ có mấy cột: name, location, email, url, comments. nên cũng chẳng biết dựa vào đâu mà order
sa01 viết 12:11 ngày 10/10/2018
dựa vào name củng order được nó sẽ sắp xếp theo thứ tự chữ cái đó bạn
KuJangSung viết 11:58 ngày 10/10/2018
sắp xếp theo name thì chơi nổi quá nếu bây h số tin cũng nhiều rồi thì mình nên thêm field gì và type là gì để sắp xếp tin mới nhất từ trên xuống nhỉ?
sa01 viết 11:58 ngày 10/10/2018
theo @thuyduongcd đi thêm hời gian vào rùi sắp xếp theođó cũng hợp lý mà
freshgraduate09 viết 11:57 ngày 10/10/2018
đúng là cần 1 field thời gian để order by. Tuy nhiên, tùy theo tình hình mà ta định nghĩa cấu trúc table

Với table guestbook, như bất kỳ table nào khác, nó cần 1 khóa chính -> ở đây nên suy nghĩ tới chỉ số của dòng comment, 1 cột tự tăng (ID chẳng hạn)

Trong 1 hệ QTCSDL, khóa chính thường được đặt index là cluster index làm mặc định, vậy nó luôn sắp xếp theo 1 chiều nhất định. Tuy nhiên mặc định cluster index dành cho primary key nếu ko tường mình định nghĩa sẽ là asc.

Bạn nên định nghĩa manually cluster index loại desc ngay tại thời điểm định nghĩa table structure. Và do đó khi select ra, các record luôn nằm theo 1 thứ tự nhất định, bạn không cần phải order by mỗi lần select ra, làm giảm performance
Bài liên quan
0