Ben bu sorun için başka bir yardım bakarak denedim ama ben sadece almıyorum. Ben aşağıdaki gibi görünen bir tablo olduğunu varsayalım.
+----+--------------+------------+
| id | date_col | label |
+----+--------------+------------+
| 1 | 2010-09-07 | Record 1 |
| 2 | 2010-09-03 | Record 2 |
| 3 | 2010-08-23 | Record 3 |
| 4 | 2010-08-23 | Record 4 |
| 5 | 2010-08-23 | Record 5 |
| 6 | 2010-08-12 | Record 6 |
| 7 | 2010-08-06 | Record 7 |
| 8 | 2010-08-06 | Record 8 |
| 9 | 2010-08-02 | Record 9 |
| 10 | 2010-08-01 | Record 10 |
+----+--------------+------------+
Sorgulandığında, date_col göre bu kayıtları sipariş ve yinelenen tarihleri ile sipariş yardım için id (ya da gerçekten başka bir keyfi sütun) kullanın.
mysql_query("SELECT * FROM table ORDER BY date_col DESC, id DESC");
Ben bir anda only one bu kayıtların sorgu Ancak, ben bir sonraki veya bir önceki kayda gitmek için bir önceki ve bir sonraki düğmeye istiyorum. Benim sorunum date_col yinelenen değerlere izin verir ve sırayla sonraki kaydı belirlerken bu yüzden, örneğin, aşağıdaki sorgu benim için çalışmıyor olmasıdır. (this_date date_col değerdir ve this_id biz de arıyoruz geçerli kayıt için id değeri olduğunu varsayalım)
mysql_query("SELECT id FROM table WHERE date_col > this_date ORDER BY date_col DESC, id DESC LIMIT 1");
Hatta bu benim için işe yaramaz:
mysql_query("SELECT id FROM table WHERE date_col > this_date AND NOT id=this_id ORDER BY date_col DESC, id DESC LIMIT 1");
Peki ben gidiyorum böyle bir şeydir - onun date_col DESC id DESC tarafından sipariş edilen beri ben, id # 4 ile rekor bakıyorum ise önceki rekor id # 5 ve sonraki kayıt olmalı id # 3 olmalı, ama tüm bu sonuçları alamıyorum.
Birisi düzgün bu işi yapmak için nasıl açıklayabilir? Herhangi bir yardım çok takdir.