![]() |
![]() ![]() |
![]() |
-CoRlONE- |
![]()
Post
#1
|
Goście ![]() |
Witam!
Mam taki problem i nie bardzo wiem jak go rozwiązać. Tworzę sobie dynamicznie kilka wierszy
i teraz dodatkowo w każdym wierszu w czwartej kolumnie mam listmenu i po zmienie tego list menu chciałbym aby php przesłał mi do tego samego formularza zmienioną wartość tego listmenu oraz odpowiadającą jej wartość kolumny 1 - IDA i jak to zrobić mam ja. Pewnie te wartości name z 1 i 4 kolumny trzeba też tworzyć dynamicznie ale jak póżniej sprawdzić w którym wierszu zaszły zmiany no nie wiem nie wiem nie chcę tu za bardzo już komplikować. |
|
|
![]() ![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 425 Pomógł: 0 Dołączył: 28.05.2005 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Możesz napisac trochę jaśniej?
Nie wiem czy dobrze zorumiałem. Ale to co chcesz osiągnać chyba trzeba zrobić na dwóch plikach php lub z użyciem java script. -------------------- nospor, jestem z Wami.
Alpha IT |
|
|
-Guest- |
![]()
Post
#3
|
Goście ![]() |
Tak domyślam się może to być trochę zakręcone ale jeszcze raz.
Mam sobie taki formularzyk jest tworzony dynamicznie wszystko pbierane jest z bazy. Każde z tych 3 przykładowych zgłoszeń ma swój id oraz status albo zrealizowane albo w trakcie realizacji.I teraz zmieniam w którymś zgłoszeniu status przełądowuje się formularz i chciałbym aby te zmiany zostały wprowadzone do bazy np mógłbym dać if(isset($_GET[tylko co tu wstawić])) jak przekazac ida zgłoszenia oraz jego status idsa skoro wszystko było tworzone dynamicznie i do nazwy "name" tych pól formularza nie mogę się odwołać. Można by zrobić tak w tej lini echo '<tr><td><input size="4" name=1,2,3,4..... value='.$r[ida].'></td>'; i w tej linii echo '<select onchange="this.document.forms.form1.submit();" name=1,2,3,4... id=idsa>'; name tworzyć też dynamicznie i wtedy jeśli prześlemy forumalrz będziemy mieli te wszystkie zmienne i to by było już połowa sukcesu tylko jeszcze jak sprawdzić póżniej która wartości z pól 1,2,3,4,5,6..... była onchange. |
|
|
![]()
Post
#4
|
|
![]() Grupa: Przyjaciele php.pl Postów: 2 605 Pomógł: 96 Dołączył: 22.10.2004 Skąd: UK Ostrzeżenie: (0%) ![]() ![]() |
Nie rozumiem po co tutaj, dawać javascript... Daj normalne nazwy tych formularzy, czyli np. "form1", "form2", "form3" etc. Potem sprawdzasz czy te dane zostały wysłane np.
Rozumiem że problem by stanowiło który rekord ma się zedytować, możesz to rozwiązać przez metodę $_GET, przy edycji w pasku np. ?produkt=12, wtedy czytasz..
Tak samo dodajesz do bazy czyli WHERE id = $_GET['produkt'] ... Ewentualnie możesz umieścic pole HIDDEN w formularzu i na jego podstawie sprawdzać które to dokładnie zamówienie. Pozdrawiam! -------------------- Najczęstsze błędy | Jak poprawnie zadać pytanie? | Serwer PHP - od czego zacząć?
SQL Injection | Hashowanie haseł | Jak działają sesje, przykłady ___ The world is yours ... |
|
|
![]() ![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 425 Pomógł: 0 Dołączył: 28.05.2005 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
W takiej sytuacji nie ma co dawać java script - źle zrozumiałem pierwszy post.
-------------------- nospor, jestem z Wami.
Alpha IT |
|
|
-Guest- |
![]()
Post
#6
|
Goście ![]() |
No tak tylko że ja w pasku po przeładowaniu strony np z 3 zgłoszeniami (jak na rysunku) mam coś takiego
http://localhost/matrix/zn-edit.php?idzn=28&dr=0000-00-00&ida=1&status=1&ida=2&status=1&ida=3&status=1&idsz=1idfirmy=1&idop=8&mn=Serwis&hpd=&dz=&cr= I teraż skąd ten biedny php ma wiedzieć czy to zgłoszenie z ida=1 czy z ida=2 czy z ida=3 miało przed chwilą zmieniony status.] No i jak dam edytuję produkt nr $_GET['ida']; to które ida on mi weżmie pewnie ostatnie z listy Nie wiem może jestem za cienki żeby to zrozumiec ale według mnie to tak nie zadziała. |
|
|
![]()
Post
#7
|
|
![]() Grupa: Przyjaciele php.pl Postów: 2 605 Pomógł: 96 Dołączył: 22.10.2004 Skąd: UK Ostrzeżenie: (0%) ![]() ![]() |
A zmienna $_GET['idzn'] nie informuje o tym które to jest zlecenie?
-------------------- Najczęstsze błędy | Jak poprawnie zadać pytanie? | Serwer PHP - od czego zacząć?
SQL Injection | Hashowanie haseł | Jak działają sesje, przykłady ___ The world is yours ... |
|
|
-Guest- |
![]()
Post
#8
|
Goście ![]() |
No właśnie nie bo idzn to jest id zlecenia a każde zlecenie może mieć kilka zgłoszeń awarii (ida) o których właśnie mowa.
|
|
|
![]()
Post
#9
|
|
![]() Grupa: Przyjaciele php.pl Postów: 2 605 Pomógł: 96 Dołączył: 22.10.2004 Skąd: UK Ostrzeżenie: (0%) ![]() ![]() |
Cytat(Guest @ 2005-08-10 16:57:04) No właśnie nie bo idzn to jest id zlecenia a każde zlecenie może mieć kilka zgłoszeń awarii (ida) o których właśnie mowa. Acha, już po mału rozumiem, tylko jaka jest właśnie struktura bazy, bo z tego co zrozumiałem to: Kod idzn | ida1 | ida2 | ida3 Trochę tego nie rozumiem, trochę dziwnie pokazywane jest której awari dotyczy całość bo gdy mamy zmienne ida=1&status=1&ida=2&status=1&ida=3&status=1 to zmienna ida będzie równa 3, a status 1, jedno wyklucza drugie bo zmienna ida, jest nadpisywana znowu kawałek dalej to tak jakby pisać:
I oczekiwać że dojdziemy do tego gdzie jest 1... ![]()
niby w pasku jest ida=2 ale na końcu jest nadpisane ida=3 więc nie wiem o co biega, wyszło by na to samo pisząc tylko ida=3&status=1. Może być też tak że niekoniecznie ilośc awari jest przekazywana przez pasek przeglądarki, równie dobrze na podstawie tego numer idzn jest automatycznie generowana ich ilośc bez wykorzystania metody $_GET. Myślę że w tym przypadku jedynym dobrym rozwiązaniem jest przejrzenie nazw formularzy, nawet jeśli są generowane automatycznie, może jest jakaś zależność albo wgłębienia się w kod skryptu w miejscu gdzie te dane są wyświetlane. Pozdrawiam! -------------------- Najczęstsze błędy | Jak poprawnie zadać pytanie? | Serwer PHP - od czego zacząć?
SQL Injection | Hashowanie haseł | Jak działają sesje, przykłady ___ The world is yours ... |
|
|
-Guest- |
![]()
Post
#10
|
Goście ![]() |
Więc baza wygląda tak dla uproszczenia podam tylko te wartosci które moga interesowac
awarie ------- ida nazwa status zlecenia --------- idzn zawarie --------- idzn ida status -------- 1-zrealizowane 2-w trakcie realizacji i teraz tabelka zawarie moze wygladac nastepujaco jedno zlecenie (idzn) moze miec kilka awari (ida) a więc np : zawarie -------- idzn ida 1 13 1 14 2 17 3 19 3 20 ida jest unkatowe tzn ze jedno zlecenie nie moze miec 2 takich samych awarii ale jedno zlecenie może miec kilka różnych awarii np 3 ma -> 19,20 i teraz tak otwieram sobie zlecenie numer 1 które zawiera 13 i 14 zgłoszenie awarii no i wyswietliłem sobie zlecenie ze wszystkimi zgłoszeniami awari wraz z ich statusami i teraz właśnie chciałbym zmienić status takiej awarii submituje formę i mam to co napisałem wcześniej. |
|
|
![]()
Post
#11
|
|
![]() Grupa: Przyjaciele php.pl Postów: 2 605 Pomógł: 96 Dołączył: 22.10.2004 Skąd: UK Ostrzeżenie: (0%) ![]() ![]() |
Trochę to zakręcone, powiem tak, jeśli wyciągasz te awarie, to nie ma problemu z ich dodaniem, brakuje w tym kodzie name w inpucie, i z tego co zrozumiałem własnie to nie wiesz jaką nazwę dać bo to jest w pętli i każda inna była by nadpisywana.. mały przykład:
Czyli musisz zrobić tam gdzie jest niewiadoma ilość name w tablicy tak jak ten "kaczor[]"... Pozostaje później odpowiednio to odczytać z tablicy i UPDATE'ować.. Mam nadzieję że dobrze zrozumiałem. Pozdrawiam! -------------------- Najczęstsze błędy | Jak poprawnie zadać pytanie? | Serwer PHP - od czego zacząć?
SQL Injection | Hashowanie haseł | Jak działają sesje, przykłady ___ The world is yours ... |
|
|
![]()
Post
#12
|
|
![]() Grupa: Zarejestrowani Postów: 12 Pomógł: 0 Dołączył: 20.02.2005 Skąd: Watykan Ostrzeżenie: (0%) ![]() ![]() |
No i właśnie o takie coś mi chodziło tylko pozostaje jeszcze jeden drobny problem skąd wiedzieć który z kaczorów 1,2,3,4,5..... czy 10 był zmieniony bo właśnie tego chcę updatować na stronie test.php
![]() ![]() -------------------- Never be afraid to try something new. Remember, amateurs built the ark; professionals built the Titanic.
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.06.2025 - 03:16 |