10/10/2018, 11:17
Cách đếm xem bản ghi đó ở vị trí nào
Ví dụ mình có bảng post(post_id,post_title,post_cat)
Insert dữ liệu:
1 | Tiêu đề 1 | 1
2 | Tiêu đề 2 | 2
3 | Tiêu đê 3 | 1
Dùng câu lệnh SELECT trong trang post.php?id=:
;
Giờ mình mún hỏi, ở những trường có post_cat = 1 tức Tiêu đề 1 và tiêu đề 3 đó, làm sao biết vị trí của nó.
Chẳng hạn Tiêu đề 1 thì vị trí 1 và Tiêu đề 3 thì vị trí 2 có cùng post_cat
Còn Tiêu đề 2 thì vị trí là 1.
p/s: Giống như viết bài trong diễn đàn, nó hiện người đầu tiên là #1, người vào trả lời thì là #2 và cứ thế
Cám ơn các bạn!
Insert dữ liệu:
1 | Tiêu đề 1 | 1
2 | Tiêu đề 2 | 2
3 | Tiêu đê 3 | 1
Dùng câu lệnh SELECT trong trang post.php?id=:
PHP Code:
$id = $_GET***91;'id'***93;;
$cat = 1// Ví dụ post_cat=1
$result=mysql_query("SELECT * FROM ".$pre_fix."post WHERE post_id='".$id."' AND post_cat = '".$cat."' ORDER BY post_id DESC") or die (mysql_error())
Giờ mình mún hỏi, ở những trường có post_cat = 1 tức Tiêu đề 1 và tiêu đề 3 đó, làm sao biết vị trí của nó.
Chẳng hạn Tiêu đề 1 thì vị trí 1 và Tiêu đề 3 thì vị trí 2 có cùng post_cat
Còn Tiêu đề 2 thì vị trí là 1.
p/s: Giống như viết bài trong diễn đàn, nó hiện người đầu tiên là #1, người vào trả lời thì là #2 và cứ thế
Cám ơn các bạn!
Bài liên quan
http://php.net/manual/en/function.mysql-data-seek.php
Hjx, ko được bác happyface à.
p/s: Chúc mừng năm mới.
1. foreach,while và dùng thêm biến $num_post = 1 , mỗi lần foreach thì tăng 1 lên
2. dùng for với $i<=count(array_post)
câu sql của cậu :
hok lẽ lần 1 select tìm cat_id của post có post_id rồi lần 2 select * dựa vào cat_id và post_id ?????????
Lấy vị trí làm gì ta.
ID | ten
1 | a
2 | b
3 | c
Nếu bình thường thì xác định theo ID sẽ ra vị trí của bản ghi, nhưng giả sử bản ghi có ID=2 bị delete, lúc đó table sẽ như sau:
ID | ten
1 | a
3 | c
Như vậy bản ghi có ID=3 sẽ không còn ở vị trí số 3 nữa mà ở vị trí số 2. Đó chính là điều mà chủ thớt muốn hỏi, và có hàm hay lệnh nào xác định luôn trong MySQL chứ còn bảo for với each hay đại loại như vậy thì cũng chẳng cần phải hỏi.
Em bé tuổi có gì mạo phạm các bác tha thứ...tính thẳng...thấy ng có vẻ ta đây không thích tí nào
************************************************** **************************
SELECT (count( b.unique_id ) + 1) ranking
FROM table_name a, table_name b
WHERE a.unique_id = '000000004' AND b.score > a.score
Mike wrote:
> Let's say I have a database and I want to find the position of a row when it is ordered by a specific column
>
> before a sort:
>
> UNIQUE ID | SCORE
> 000000001 | 100
> 000000002 | 50
> 000000003 | 30
> 000000004 | 80
> 000000005 | 50
>
> after sort:
>
> UNIQUE ID | SCORE
> 000000001 | 100
> 000000004 | 80
> 000000002 | 50
> 000000005 | 50
> 000000003 | 30
>
> is it posible to find the position of 000000004 with a query or mysql function?
>
> Normally I'd just 'SELECT unique_id FROM table ORDER DESC' then loop through the results looking for a matching id, however my table contains thousands of entries, and it's simply not possible do do it that way.
>
> Thanks
> Mike
************************************************** ***************************