![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 9.05.2015 Ostrzeżenie: (0%) ![]() ![]() |
Witam.
Piszę aplikację do zarządzania zleceniami i w pewnym momencie stanąłem w martwym punkcie. Założenie było takie, że aplikacja pobiera wprowadzone wcześniej rekordy z bazy danych i wyświetla je w poszczególnych polach tabeli. Każdy wiersz oprócz danych miał mieć także formularz select. Użyłem do tego tej samej pętli która wyświetla rekordy , żeby mieć selecta w każdym wierszu. Problem polega na tym, iż działa tylko select pierwszego wiersza, a chciałbym , żeby każdy select działał niezależnie w każdym wierszu powiedzmy , że początkowo miałby zmieniać kolory tła w wierszu dla poszczególnego statusu zlecenia.
Będę wdzięczny za podpowiedź. |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 218 Pomógł: 16 Dołączył: 6.06.2014 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Bardzo rzuca się w oczy używanie przestarzałych metod MYSQL_* . Poczytaj o MYSQLI.
Spróbuj tak jak powyżej, powinno działać. |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 9.05.2015 Ostrzeżenie: (0%) ![]() ![]() |
Dzięki poczytam o mysqli. Co do skryptu działa, lecz tak jak się obawiałem w tym układzie każdy formularz zmienia kolor wszystkim wierszom tabeli.
teraz zastanawiam się jak zrobić żeby powiedzmy select w wierszu 3 zmienił kolor tylko dla wiersza trzeciego tu jest główny problem. |
|
|
![]()
Post
#4
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
To przekazuj w formie rowniez ID wiersza dla ktorego ma byc zmiana i po klopocie
-------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 218 Pomógł: 16 Dołączył: 6.06.2014 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
A jak ma nie zmieniać? Przecież zmienną definiujesz przed pętlą, a potem wywołujesz tę samą zmienną w każdym obiegu. Poza tym, wartość w zmiennej $_POST['kolory'] będzie zawsze taka sama, nawet jeśli będzie w pętli. Tak jak pisał nospor, podaj ID, albo jak chcesz to zrób tak:
Też powinno śmigać, ale z palca więc literówki mogą być ![]() Ten post edytował patwoj98 11.05.2015, 19:58:48 |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 9.05.2015 Ostrzeżenie: (0%) ![]() ![]() |
Trochę śmigało i trochę nie, ale nie wiem czy mnie dobrze zrozumieliście. To jeszcze raz. Założenie aplikacja wyświetla wiersze z danymi: numer zlecenia, imię, nazwisko, tytuł, opis itd. Każde zlecenia wyświetla się w nowym wierszu => każdy wiersz ma forma select => wybranie statusu zlecenia powoduje zmianę koloru tylko w tym wierszu w którym został użyty select. Czyli mam 10 zleceń wprowadzonych do bazy, wybieram pierwsze zmieniam status na przyjęto podświetla się na zielono, wybieram drugie zmieniam status w trakcie realizacji świeci się na czerwono wybieram trzecie zmieniam status zrealizowano świeci się na niebiesko itd. przyporządkowanie id czy też numeru zlecenia który też jest unikalny i umieszczenie go w pętli while powoduje powielenie jednego tylko numeru. działało dla wszystkich select wybierz tylko jedne wiersz. Myślałem być może o czymś takim każdy formularz select ma własne id i każde zlecenia ma własne id. Zmiana statusu zmienia kolor w wierszu w którym użyto formularza select wtedy i tylko wtedy , gdy id wiersza jest identyczne jak id forma select.
ps. To bardzo miłe , że mój post uzyskał odpowiedzi, szczerze nawet nie liczyłem. ![]() |
|
|
![]()
Post
#7
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
No to wlasnie ci napisalem: przekazuj w formie ID wiersza/zlecenia czy co ty tam masz. Po wyslaniu forma, zmieniasz status tego rekordu na podstawie ID. A potem wyswietlajac na podstawie statusu kolorujesz
-------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 218 Pomógł: 16 Dołączył: 6.06.2014 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Czy Ty chcesz, aby ono się zmieniało jeżeli ktoś wybierze coś w select czy po przeładowaniu ?
|
|
|
![]()
Post
#9
|
|
![]() Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 9.05.2015 Ostrzeżenie: (0%) ![]() ![]() |
Teraz to już po przeładowaniu. Podpowiedzi pewnie dobre ale nie na mój poziom. Jestem na etapie gdzie formularz przesyła również id zlecenia. Problem mam z pozostałymi zdaniami "Po wyslaniu forma, zmieniasz status tego rekordu na podstawie ID. A potem wyswietlajac na podstawie statusu kolorujesz"
Nie wiem czy jakieś warunki, czy pętla czy zapytanie sql z where. Czarna dziura. |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 218 Pomógł: 16 Dołączył: 6.06.2014 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Nie lepiej Ci w takim razie oddać zlecenia dla freelancera? Nie wiesz co robić, a podpowiedzi już są konkretne. Albo daj freelancerowi, albo napisz po prostu krok po kroku co ma się dziać.
|
|
|
![]()
Post
#11
|
|
![]() Grupa: Zarejestrowani Postów: 150 Pomógł: 31 Dołączył: 10.01.2007 Skąd: Bydgoszcz/Inowrocław Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#12
|
|
![]() Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 9.05.2015 Ostrzeżenie: (0%) ![]() ![]() |
Oddać? To nie jest zlecenie komercyjne, ani nawet zlecenie. Piszę to sam dla nauki języka php. Początki są trudne, tak jak ze wszystkim. Natomiast będę siedział przy tym dopóki nie zadziała chodź by nie wiem ile czasu miałoby mi to zająć.
Mimo wszystko dziękuje za podpowiedzi. Uparty jak osioł ![]()
Krok po kroku: zmieniam status zlecenia w wierszu trzecim i zmienia się kolor w wierszu trzecim i tak juz zostaje póki nie zmienie mu statusu na jakiś inny. zmieniam ststus z wierszu 10 analogicznie - pewnie tak jak działają niektóre programy do zarządzania zleceniami. wchodzę sobie za dwa dni do aplikacji i patrzę ach te dwa mam na żółto czyli są do zrealizowania, te cztery na zielono czyli przyjęto do realizacji, następne osiem żółte czyli w tarskcie realizacji. itd. To co napisałem przesyła w tej chwili numer id w zależności w jakim wierszu użyje forma - czyli zmieniam coś w wierszu z id 10 wyrzuca mi 10. Tak logicznie gdyby każdemu tr przyporządkować id = ID z bazy danych i na tej podstawie wykonać zmianę koloru tylko w tym wierszu w którym dane id jest zgodne z id wiersza w którym forma użyłem. To tak nad tym myślę. |
|
|
![]()
Post
#13
|
|
![]() Grupa: Zarejestrowani Postów: 150 Pomógł: 31 Dołączył: 10.01.2007 Skąd: Bydgoszcz/Inowrocław Ostrzeżenie: (0%) ![]() ![]() |
Jeśli chcesz zmienić status po przeładowaniu, to raczej zapisuj go do bazy, na jakiejś podstawie musisz to robić. Jeśli chcesz bezpośrednio, musisz posiłkować się js. Nie wiem, czy korzystasz z jQuery, na wszelki wypadek kod w czystym JS:
//Edit: jsfiddle: https://jsfiddle.net/uargqf5n/ Ten post edytował salfunglandyare 14.05.2015, 22:39:19 |
|
|
![]()
Post
#14
|
|
![]() Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 9.05.2015 Ostrzeżenie: (0%) ![]() ![]() |
"No to wlasnie ci napisalem: przekazuj w formie ID wiersza/zlecenia czy co ty tam masz. Po wyslaniu forma, zmieniasz status tego rekordu na podstawie ID. A potem wyswietlajac na podstawie statusu kolorujesz"
Zrobione temat do zamknięcia. |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 13:07 |