mokry
5.06.2006, 09:03:20
Witam!
Chodzi mi o coś takiego:
Robie dosc duży skrypt do zarządzania warsztatem samochodowym, tzn: klientami warsztatu, samochodami i naprawami. Praktycznie wszystko mam już zaplanowane, tylko nie wiem jak rozwiązać pewien problem.
Przy dodawaniu operacji naprawy/zlecenia, chciałbym mieć możliwość wprowadzania po kolei każdej operacji danej naprawy wraz z kosztem.
Nie wiem czy dobrze wyjaśniłem, ale postaram sie przybliżyć temat:
Mam klienta, mam samochód, tworze właśnie nowe zlecenie dla samochodu i mam:
Samochód: {pole select}
Data operacji: {wybor daty, oczywiście w bazie format: rrrr-mm-dd}
Czynności: {no i tu problem. moglbym zastosować textarea, ale nie moglbym wtedy każdej czynności opisać względem ceny. Chciałbym np przycisk dodaj operacje->popup->nowa operacja->dodaje i od razu po dodaniu dopisuje ją na strone z dodawanym zleceniem. Wtedy na pewno bylaby użyta JS, ale nie widze nigdzie takich skryptów.
Chyba, że macie jakiś inny konspekt tego?
//podobnie polem z "użyte części" chociaż tam to nie jest już tak ważne.}
Uwagi: {textarea}
Użyte części: {text area, lub to samo co wyżej w czynnościach}
no i przycisk "Dodaj"
Każdy pomysł mile widziany. Nie oczekuje gotowego skryptu, ale chociaż wskazówka jakby to można było zrobić aby było miłe dla użytkownika i łopatologiczne.
Bylbym niezmiernie zadowolony gdyby jeszcze była informacja na temat ewentualnych adresów www gdzie mógłbym spotkać taki skrypcik JS lub coś działającego na podobnej zasadzie.
W razie czego moge podać strukture tabel MySQL, choć myśle, że nie jest to raczej konieczne.
Tak na szybko mam tabele: klienci, samochody, naprawy.
No i potem ewentualnie jakieś tabele co dojdą do tego.
Mam nadzieję, że w dość jasy sposób opisałem problem i nie będziecie mieli problemu z zrozumieniem mojego toku myślowego.
Skrypt pracuje na PHP4, JS i MySQL.
Ps. Nie wiem czy na dobre forum napisałem. Mam nadzieję, że tak, jeśli nie proszę o przeniesienie tematu.
Cytat
Czynności
Wystarczy wykorzystanie AJAX, przycisk 'dodaj' dorzuca dwa pola kazdej czynnosci: input - text -> cena, input - text -> opis.
mokry
5.06.2006, 13:30:02
hmmm... nie bardzo umiem sie wbić w to co powiedziałeś.
Bardzo bym prosił troszke jaśniej jeśli można

Co do AJAX'a to niewiele wiem :/
mokry
5.06.2006, 13:46:35
A tak sobie teraz myśle:
Czy rozsądnym rozwiązaniem byłoby zrobienie czegoś takiego:
Przed dodaniem zlecenia określa sie ilość operacji w polu input, potem tworzona jest pętla, która wyświetla żądaną ilość pól
name="pole".$ile ->pole1, pole2, pole3; cena1, cena2, cena3
nastepne pole hidden name="ile"
i po wyslaniu formularza znowu petla while która dodaje po kolei wpisy do bazy danych.
Czy wg Was takie rozwiązanie byloby dobre? W sumie rozwiazywaloby to problem z JS, przez co nie byloby watpilwosci co do dzialania w roznych przegladarkach.
Prosze o opinie.
BTW: Sorki za zduplikowanie posta.
athabus
5.06.2006, 14:04:42
Działać to to może i będzie, ale będzie strasznie toporne.
Ja jednak wybrał bym Ajax - w zasadzie nie jest to nic trudnego do opanowania (przynajmniej jeśli chodzi o podstawy), a da Ci dobre rezultaty. Ewentualnie możesz zrobić osobną stronę do dodawania tych czynności i z dwoma polami -> i przy każdym dodaniu czynności przeładujesz po prostu stronę - tak jak np. przy robieniu zakupów w sklepie internetowym... nie jest to może najlepsze wyjście ale względnie proste do wykonania.
mokry
5.06.2006, 14:32:38
A cos takiego, ze:
wypełniam dane klienta, samochód, użyte częsci i potem Krok2:
pola "opis" i "koszt" no i dwa przyciski: "zakończ" "dodaj następne" i tak długo będzie dodawał operacje dopóty nie wybierze się "zakończ", a przy zakończeniu podgląd wszystkiego wraz z sumą ceny i ewentualne przyciski przy poszczególnych operacjach "edytuj/usuń"?
No i to samo z częściami, osobna tabela czesci z polami "nazwa", "koszt".
Oczywiście wszystko powiązane ze sobą kwerendami.
Co Wy na to?
Chodzi o prostote, aby skrypt był łatwy w obsłudze.
Albo tak:
1. Tworze zlecenie naprawy:
2. Tu mam podgląd wprowadzonych danych samochodu i klienta
3. Przyciski "Dodaj operacje" i "Dodaj części"
4. Po kliknięciu na któryś otwiera sie popup z zapytaniem mysql do zlecenia i poniżej pola do dodawania.
5. Po dodaniu popup się odświerza, wyskakuje już pierwsza pozycja i znowu pola do dodania.
6. Klikając na koniec popup sie zamyka a strona glowna sie odświerza i są już dane operacje/czesci z możliwością usunięcia/edycji pozycji.
7. Ostateczne zatwierdzenie i powrót do spisu zleceń czy indexu.
??
Cytat
A cos takiego, ze:
wypełniam dane klienta, samochód, użyte częsci i potem Krok2:...
mialem na mysli cos w tym stylu, ale w AJAX-ie
mokry
5.06.2006, 17:52:35
A dokaldniej?
Tzn gdybys mogl napisac wiecej szczegolow na ten temat plus ewentualne przyklady jesli mozesz ;)

Tam, gdzie masz na srodku taki duzy kwadrat, to tam sa naprawy, czy takie tam. Przycisk '-' usuwa 'zestaw' (dwa pola input), a '+' dodaje. Nazywasz te pola jako tablice i pozniej je juz wygodnie przetwarzasz w php.
Poszloby nawet bez AJAX-a; dodajesz tylko pola input.
mokry
5.06.2006, 19:16:08
Przeanalizowałem conieco i doszedłem do wniosku że tak będzie najlepiej:
Poniżej przedstawiam schematycznie jak to bedzie wygladalo.
Krok1:
- Wybranie samochodu oraz daty wykonania zlecenia
<przycisk dalej>
Krok2:
- Zasugerowanie klienta wzgledem samochodu plu możliwość ewentualnej zmiany (czasem taka zachodzi)
<przycisk dalej>
Krok3:
Dane klienta: <wypisane wczesniejsze dane>
Dane samochodu: <wypisane dane samochodu>
__USŁUGI:_______________
-usluga1
-usluga2
_________________<przycisk DODAJ USLUGE>
__CZESCI:_______________
-czesc1
-czesc2
_________________<przycisk DODAJ CZESCI>
Dodawanie czesci i uslug poprzez popup, tam dodajemy ile chcemy uslug juz do bazy i przy wychodzeniu z okienka strona macierza odswierza sie i widac uslugi.
No i na koniec przycisk "dodaj zlecenie"
czy wedlug Was takie rozwiazanie bedzie latwe do zrozumienia dla zwyklego mechanika samochodowego? ;)
Prosze o ocene i ewentualne sugestie.
WRESZCIE!
o to mi chodzilo
mokry
5.06.2006, 19:27:05
Hehe, ciesze sie, że wreszcie sie zrozumieliśmy ;)
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.