umatik
8.02.2005, 16:09:51
czy jest jakis sposob aby wcisnca nowy rekord pomiedzy juz istniejace?
tzn chce aby mozna bylo wlkozyc informacje na pozycje np 3, tak aby potem wyswietlic zawartosc bazy wg tych waslnie "pozycji" . Jak wyswietlnic dobrze wiem, ale nie zabardzo wiem jak wlozyc dane pomiedzy inne pola...
SongoQ
8.02.2005, 16:15:03
A uzywasz sortowania?
Bazy danych uzywaja wlasnej numeracji wewnetrznej np Postgres oid i domyslnie sa dane zwracane wedlug tej kolejnosci. Aby baza zwrocila Ci rekordy wedlug kolejnosci jaka ty chcesz to musisz sobie posortować.
Nie bardzo zrozumialem o co Ci chodzilo w pytaniu, proszę o wiecej szczegółów.
1. Dodajesz kolumnę int Ordering
2. Pobierasz pole Ordering elementu przed którym chcesz wskoczyć.
3. Zwiększasz wartość pola Ordering +1 dla wszystkich rekordów gdzie Ordering >= pobrana wartość.
4. Tworzysz nowy rekord, wprowadzając dla niego właśnie tą wartość jako Ordering.
A rekordy pobierasz po prostu jako ORDER BY Ordering
umatik
8.02.2005, 16:22:55
aha tak wlasnie myslalem tylko czy mozna jakos dla ulatwienia sobie zycia powiazac kolumne Ordering z ip auto_increment ? tak zeby defoultowo wstaiany rekord byl na koncu no chyba ze bedzie Nazucona kolejnosc tzn czyli Ordering bedzie rowny np 3..
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.