Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> poprzedni - nastepny rekord
qwerkon
post 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)?


--------------------
Go to the top of the page
+Quote Post
adwol
post 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.
Go to the top of the page
+Quote Post
uboottd
post 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]
Go to the top of the page
+Quote Post
qwerkon
post 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 smile.gif ) i pozniej wyjmowac z niej element next i prev od danego id, i tego niwiem jak zrobic w php biggrin.gif


--------------------
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 26.04.2024 - 10:40