Cześć,
Chce zrobić małe narzędzie drag&drop (na zasadzie nakładania cegiełek), ale potrzebuje kilku wskazówek.
O narzędziu:
Strona będzie podzielona na 2 kolumny.
Po lewej stronie będą 3 kwadratowe zdjęcia: "Zdjęcie z napisem A", "Zdjęcie z napisem B" i "Zdjęcie z napisem C"
Po prawej stronie będzie znajdowała się biała kartka.
Załóżmy, że po przeciągnięciu "Zdjęcie z napisem A" na białą kartkę, pojawia się kod HTML, czyli:
<div class="zdjecieA"><span>A</span></div>
Tabela user:
ID | imie | ... | ... | ... |
1749483 | Adam | ... | ... | ... |
9272636 | Ania | ... | ... | ... |
(oczywiście podstawowo biała kartka będzie czysta, więc w tabelach będzie pusto, ale załóżmy, że już wygląda tak:
Tabela zdjecieA:
ID | zdjecieA | kolejnosc |
1749483 | A | 1 |
9272636 | A | 2 |
Tabela zdjecieB:
ID | zdjecieB | kolejnosc |
1749483 | B | 2 |
9272636 | B | 3 |
Tabela zdjecieC:
ID | zdjecieC | kolejnosc |
1749483 | C | 3 |
9272636 | C | 1 |
Na białej kartce użytkownika Adam znajdują się bloki:
A, B, C
Na białej kartce użytkownika Ania znajdują się bloki:
C, A, B
i teraz pojawiają się moje pytania:
Podczas rejestracji każdy użytkownik podający dane jest zapisywany do tabeli "user", gdzie każdy użytkownik ma swój wiersz gdzie m.in jest ID:
1. W tabelach można wybrać opcję A_I (zwiększanie o 1), ale czy jest można stworzyć generowanie automatycznie liczby o ciągu 7 znaków (bez powtórzeń w bazie) - jako ID? Czy trzeba napisać własny skrypt?
2. Co jeżeli Adam będzie chciał przeciągnąć do istniejącej kartki A, B, C jeszcze 3 bloki w kolejności: C, A, B czyli całość będzie wyglądała następująco:
A, B, C, C, A, B
Tabela wtedy będzie wyglądała tak jak poniżej, tak?
Tabela zdjecieA:
ID | zdjecieA | kolejnosc |
1749483 | A | 1 |
9272636 | B | 2 |
1749483 | A | 5 |
Tabela zdjecieB:
ID | zdjecieB | kolejnosc |
1749483 | B | 2 |
9272636 | B | 3 |
1749483 | B | 6 |
Tabela zdjecieC:
ID | zdjecieC | kolejnosc |
1749483 | C | 3 |
9272636 | C | 1 |
1749483 | C | 4 |
3. Czy można w powyższych tabelach połączyć ID i stworzyć wszystko w jednym wierszu np. po przecinkach? (jeżeli tak, to czy coś takiego się opłaca)
4. Jak takie operacje obciążają baze danych, jeżeli tabele są ciągle aktualizowane, a jest ich np. 10.000?
5. Czy można tabele zdjecieA, zdjecieB, zdjecieC dodać do tabeli user włącznie z kolejnością i dodawaniem kolejnych bloków?