Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: poprzedni - nastepny rekord
Forum PHP.pl > Forum > Bazy danych > MySQL
qwerkon
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)?
adwol
[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.
uboottd
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]
qwerkon
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
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.