Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][Algorytm] Algorytm kolejności z zapisem do bazy
R4D3K
post
Post #1





Grupa: Zarejestrowani
Postów: 144
Pomógł: 12
Dołączył: 16.03.2007

Ostrzeżenie: (0%)
-----


Witam wszystkich ! Piszę bo mam problem merytoryczny z cyklu jak dobrze zaimplementować dane rozwiązanie. Otóż mam w bazie danych (MySQL) tabele question, która zawiera pola id,name, polls_id. Moim zadaniem jest przy operacjach CRUD w panelu admina udostępnienie funkcjonalności ułożenia pytań wedle określonej przez niego kolejności w ramach danej ankiety (polls_id). Dokładniej chodzi o to , że przy dodawaniu,edytowaniu rekordów jest możliwość zmiany kolejności wyświetlania: na koniec, na początek lub po danym polu takie coś jak dodawanie/edytowanie pól do danej tabeli w phpmyadminie.

W pierwszej kolejności przyszło mi do głowy: Dodaj pole order do tabeli w niej zapisuj liczby => najmniejsza liczba to rekord jest pierwszy dalej pytania układają się analogicznie jak rosną liczby. Ale po chwili zastanowienia pomyślałem: ale jak wtedy wcisnąć dany rekord między dwoma innymi rekordami ? Przeindekdować wszystko ? i wykonać zapytanie update order = order+1 form question where order >= x ??Hmm tutaj zaświtał mi pomysł żeby dodawać liczby np dla 1 rekordu 100 dla 2 200 i wtedy jak trzeba coś wcisnąć między rekordem 1 a 2 to będę nadawać liczbę między 100 a 200. Fajnie, ale ,ale ... jak user między rekord 1 a 2 doda 3 inne rekordy a później ze chce między te dodane rekordy coś wcisnąć ?

Czy ktoś miał podobny problem, i jak najlepiej to rozwiązać. Dodam, że tworzona przez mnie aplikacja będzie miała po koło 200 pytań dla każdej ankiety(polls_id) więc możliwość swobodnej edycji, usuwania oraz zmieniania kolejności pytań jest tu bardzo ważna no i przede wszystkim jest wymogiem klienta.</p>

Serdecznie dziękuje za każde sensowne odpowiedzi

Ten post edytował R4D3K 4.08.2011, 14:09:26
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 23.12.2025 - 13:27