Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Odrębna numeracja zleceń
grafikon
post 23.03.2011, 08:25:12
Post #1





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 23.03.2011

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


Witam

Piszę obecnie skrypt do zarządzania zleceniami. Zlecenia napływają z 4 rejonów (I, II, III, IV). Każdy z rejonów ma mieć własną numerację w stylu:
kolejny numer/rejon/rok np 458/III/2011, 123/II/2011 itp.

Tak wygląda formularz:



A tak struktura bazy:



Obecnie wybieram rejon, a numer na podstawie id jest dodawany automatycznie. Tylko że jest to kolejny numer dla wszystkich rejonów.

Pytanie:
Jak zrobić, aby po wybraniu rejonu, wypełnieniu formularza, podczas zapisu do bazy zapisał się kolejny numer w obrębie danego rejonu ?
Czy można to zrobić przy jednej tabeli za zleceniami, czy muszę stworzyć 4 odrębne ?

Go to the top of the page
+Quote Post
NEO.pl
post 23.03.2011, 10:44:11
Post #2





Grupa: Zarejestrowani
Postów: 71
Pomógł: 5
Dołączył: 26.01.2011

Ostrzeżenie: (40%)
XX---


zaloz locka na tabele, wybierz najwiekszy numer dla danego regionu; utworz nowy numer; zapisz do bazy; zdejmij locka

I nadal jedna tabela wystarczy. Oczywiscie musisz usunac primary key z id_zlec z oczywistych powodow (ale unique moze juz byc na id_zlec + id_rejonu


PS: zawsze mi sie podobaja "optymalizacje" typu "zlec" zamiast "zlecenie". Poza tym po co "_zlec" w ogole, skoro tabela "zlecenia" sie nazywa? zakladam zeby przy joinach sie nie pogubic ale mimo wszystko "AS" nie jest az tak skomplikowane do uzycia.

Ten post edytował NEO.pl 23.03.2011, 10:48:36
Go to the top of the page
+Quote Post
grafikon
post 24.03.2011, 10:58:46
Post #3





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 23.03.2011

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


Cytat(NEO.pl @ 23.03.2011, 10:44:11 ) *
zaloz locka na tabele, wybierz najwiekszy numer dla danego regionu; utworz nowy numer; zapisz do bazy; zdejmij locka

I nadal jedna tabela wystarczy. Oczywiscie musisz usunac primary key z id_zlec z oczywistych powodow (ale unique moze juz byc na id_zlec + id_rejonu


PS: zawsze mi sie podobaja "optymalizacje" typu "zlec" zamiast "zlecenie". Poza tym po co "_zlec" w ogole, skoro tabela "zlecenia" sie nazywa? zakladam zeby przy joinach sie nie pogubic ale mimo wszystko "AS" nie jest az tak skomplikowane do uzycia.


Mógłbym prosić o rozwinięcie tematu "wybierz największy numer dla danego regionu" ?
Załóżmy że w bazie Zlecenia nie ma jeszcze żadnych rekordów. Dodaję nowy rekord. Wybieram na formularzu np. Rejon II. Pole id_zlec przyjmuje wartość 1
Czy mam dodać kolejne pole na numer ?

Już sobie poradziłem. Dodałem nowe pole nr_zlecenia i takie zapytanie
Kod
mysql_query("select MAX(nr_zlec) AS ile FROM zlecenia where id_rejon_zlec=$id_rejon_zlec")
Go to the top of the page
+Quote Post
NEO.pl
post 24.03.2011, 11:19:15
Post #4





Grupa: Zarejestrowani
Postów: 71
Pomógł: 5
Dołączył: 26.01.2011

Ostrzeżenie: (40%)
XX---


Cytat
Czy mam dodać kolejne pole na numer ?

Tak, bo co innego to unikalny numer zestawu danych (czyli u Ciebie id_zlec) a co innego jakistam numer porzadkowy.
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 19.07.2025 - 09:36