34554 Mieszanie tablic, losowanie elementów, PHP, ....

Completed Posted Sep 20, 2009 Paid on delivery
Completed Paid on delivery

Losowanie elementów TABLIC wielowymiarowych i ich mieszanie / łączenie (w PHP)

1. tablica K zawierająca kilka tablic S i kilka tablic L

- ilość tablic K, S, L jest zmienna

TAB-K1 {

TAB-K1S1 {S1-1,S1-2,S1-3,S1-4}

TAB-K1S2 {S2-1}

TAB-K1S3 {S3-1,S3-2}

TAB-K1S4 {S4-1,S4-2,S4-3,S4-4,S4-5,S4-6}

TAB-K1L1 {L1-1,L1-2,L1-3,L1-4,L1-5,L1-6}

}

TAB-K2 {

TAB-K2S1 {S1-1}

TAB-K2L1 {L1-1,L2-2}

}

TAB-K3 {

TAB-K3S1 {S1-1}

TAB-K3S2 {S2-1,S2-2}

TAB-K3L1 {L1-1}

TAB-K3L2 {L2-1,L2-2}

TAB-K3L3 {L3-1,L3-2,L3-3,L3-4,L3-5,L3-6}

}

Mieszanie polega na przypisaniu po 1 elemencie z tablic TAB-KnLn[] do tablic TAB-KnSn[]

WARUNKI:

- nie mieszamy tablic we własnym obrębie TAB-K[]

- nie można przypisać 2 razy tego samego elementu TAB-KnLn[] do TAB-KnS[],

czyli nie można przypisać TAB-K2L1[0] dwa razy np. do tablicy TAB-K1S4 mimo że mamy 6 elementów w tablicy,

tu oczywiście przydał by się włączany wyjątek i parametr z ilością powtórzeń aby można przypisać max po 1 sztuce dla elementu.

Wyniki muszą być zapisywane najlepiej w bazie MySQL, lub ostatecznie w pliku jako serializowane dane.

struktura bazy danych:

TAB-K (idK, nazwa_elementu-K)

TAB-S (idS, idK, nazwa_elementu-S, maxL)

- maxL = 2

- maxL - jest to zmienna maksymalna ilość elementów TAB-KnLn jaka może zostać przypisana do 1 elementu z tablicy TAB-KnSn

- przykład TAB-K1S1[0] dla max 2 elementów (TAB-K2L1[0],TAB-K3L2[1])

TAB-SW (idSW, idS, nazwa_elementu-SW)

TAB-L (idL, idK, nazwa_elementu-L, maxW, co_ile_losowan)

- maxW - ile maksymalnie razy wykorzystać dany element tablicy

- co_ile_losowan - ci ile losowań pobrać dany element tablicy

Trzeba stworzyć jakąś lub jakieć tablice na wylosowane / przypisane elementu ...

Przykładowa rozpiska bazy z powyższego przykładu.

TAB-K

(1,TAB-K1),(2,TAB-K2),(3,TAB-K3);

TAB-S

(1,1,TAB-K1S1,2),(2,1,TAB-K1S2,2),(3,1,TAB-K1S3,2),(4,1,TAB-K1S4,2),

(5,2,TAB-K2S1,2),

(6,3,TAB-K3S1,2),(7,3,TAB-K3S1,2);

TAB-SW

(1,1,S1-1),(2,1,S1-2),(3,1,S1-3),(4,1,S1-4),

(5,1,S2-1),

(6,1,S3-1),(7,1,S3-2),

(8,1,S4-1),(9,1,S4-2),(10,1,S4-3),(11,1,S4-4),(12,1,S4-5),(13,1,S4-6),

(14,2,S1-1),

(15,3,S1-1),

(16,3,S2-1),(17,3,S2-2);

TAB-L

(1,1,L1-1,10,1),(2,1,L1-2,10,1),(3,1,L1-3,10,1),(4,1,L1-4,10,1),(5,1,L1-5,10,1),(6,1,L1-6,10,1),

(7,2,L1-1,10,1),(8,2,L1-2,10,1),

(9,3,L1-1,10,1),

(10,3,L1-1,10,1),(11,3,L1-2,10,1),

(12,3,L1-1,10,1),(13,3,L1-2,10,1),(14,3,L1-3,10,1),(15,3,L1-4,10,1),(16,3,L1-5,10,1),(17,3,L1-6,10,1);

Losowanie odbywa się po odświeżeniu strony

Jeśli jest coś niezrozumiałe wyjaśnię dokładniej.

CSS Graphic Design HTML PHP Website Design

Project ID: #5609498

About the project

1 proposal Remote project Active Sep 20, 2009

Awarded to:

kevrutler

A proposal has not yet been provided

zł50 PLN in 1 day
(1 Review)
0.4