poprzedni - nastepny rekord |
poprzedni - nastepny rekord |
7.12.2003, 19:38:46
Post
#1
|
|
Grupa: Zarejestrowani Postów: 18 Pomógł: 0 Dołączył: 8.07.2003 Skąd: Katowice Ostrzeżenie: (0%) |
Prowadze site z wierszami i chcialbym aby mozna bylo plynie przechodzic miedzy wierszami danej osoby (poprzedni i nastepny), ale w bazie danych (mysql) wiersze danej osoby nie sa pokolei, tzn zamiast 1,2,3,4,5... jest 1,40,6,15... ale cecha wspolna jest id_autora dla danej osoby.
Kod Przykładowa tabela dla autora o id_autora = 4
------------------- | id | id_autora | ------------------- | 21 | 4 | | 529 | 4 | | 53 | 4 | | 381 | 4 | | 22 | 4 | | 485 | 4 | | 72 | 4 | | 20 | 4 | | 169 | 4 | ------------------- Jak to zrobić, bo zabraklo mi juz pomyslow (a moze i wiedzy:D)? -------------------- |
|
|
7.12.2003, 20:04:31
Post
#2
|
|
Grupa: Zarejestrowani Postów: 691 Pomógł: 0 Dołączył: 6.08.2003 Ostrzeżenie: (0%) |
[sql:1:398a8d7201]select * from tabela where id_autora='$id_autora' and id > '$id' order by id limit 1[/sql:1:398a8d7201]
$id to aktualny wiersz. W ten sposób dostaniesz kolejny tego samego autora (na początku pod $id podstaw 0). PS. Temat przenoszę na Bazy Danych. |
|
|
8.12.2003, 13:02:29
Post
#3
|
|
Grupa: Zarejestrowani Postów: 384 Pomógł: 0 Dołączył: 3.04.2003 Skąd: Chorzow Ostrzeżenie: (0%) |
Lub w taki sposob dla znanego id:
[sql:1:55f54ddf70] SELECT max(if(a>='$id',null,a)) as nastepny, min(if(a<='$id',null,a)) as poprzedni FROM tabela WHERE id_autora = '$autor' [/sql:1:55f54ddf70] |
|
|
8.12.2003, 13:41:50
Post
#4
|
|
Grupa: Zarejestrowani Postów: 18 Pomógł: 0 Dołączył: 8.07.2003 Skąd: Katowice Ostrzeżenie: (0%) |
Dzieki za pomysly, ale jezeli strone wczesniej (gdzie jest caly spis wierszy) wiersze sa posortowane wg tytulu to tutaj tez musi byc taka kolejnosc.
Mnie sie wydaje, ze najpierw mozna wrzucic to do tablicy (to umiem zrobic ) i pozniej wyjmowac z niej element next i prev od danego id, i tego niwiem jak zrobic w php -------------------- |
|
|
Wersja Lo-Fi | Aktualny czas: 26.04.2024 - 10:40 |