W jaki sposób przenieść dane z tabeli do formularza?

0

Witam. Najpierw nakreślę sytuację. Pracuję w ZF.

  1. Mam na stronie przycisk utwórz transakcję.
  2. Po kliknięciu otwiera się okienko dialogowe z tabelą użytkowników i ich powiązań z danym produktem. Są oni zaciągani z bazy, a sama tabela jest tworzona foreachem. Mogą występować zarówno tacy, którzy mają już utworzoną transakcję, albo tacy którzy jeszcze jej nie mają.
  3. Po kliknięciu na użytkownika (wiersz w kolumnie), który nie ma transakcji (sprawdzam po transaction_id, czy jest null czy nie) otwiera się okienko dialogowe.

I do tej pory sobie poradziłem. Nie wiem natomiast jak ogarnąć sprawę z wysłaniem danych do tabeli transakcje. W okienku dialogowym będą dwa pola (to również umiem zrobić):

  • status transakcji
  • opis (opcjonalny).

Do wysłania danych potrzebuję informacji o klikniętym użytkowniku z tabli tzn. jego id, id powiązania itd., żeby w raz z danymi z okienka dialogowego (tego ze statusem transakcji) przesłać to do bazy. Nie mam zielonego pojęcia jak to ugryźć, bo formularz w drugim dialogu obejmuje tylko 2 w/w pola i nie wiem jak tam wpakować reszte potrzebnych informacji. Czyżbym musiał utowrzyć jakieś inputy na zasadzie hidden i przekazać js wartości z tabeli do nich? Nie oczekuję gotowego kodu, tylko bardziej wskazówek i sposobu rozwiązania tego problemu.

1

Albo od razu tworzysz sobie te inputy w PHP przy czytaniu danych albo jak mówisz - js.

1

Witam,

Korzystając z okazji chciałbym się przywitać gdyż jestem nowy na forum. Sprawa jest bardzo prosta. Zależnie od tego do czego dążysz. Najprościej będzie jeśli przy przekazywaniu danych do widoku w polu input będziesz sprawdzał czy dana zmienna istnieje i ma wartość. W ten sposób pole formularza albo będzie puste albo będzie miało domyślną wartość w zależności od tego co sobie wybierzesz. Natomiast w przypadku gdy zmienna będzie istniała i posiadła swoją określoną wartość to właśnie ona będzie wyświetlana np:


<input value="<?= $login ? $login : 'You login goes here...'; ?>"> 

Pozdrawiam,
Robert

0

Dobry pomysł, ale czy to oznacza, że na każdy row w tabeli będę miał jeden formularz, czy jakby to miało dzialać? Czy jeden formularz na całą tabelę, a przekazuję tylko te inputy o jakimś konkretnym id??

No i w jaki sposób nagle podłączyć ten formularz do formularza z kolejnego okna dialogowego, tam gdzie wybieramy status transakcji? Wysłać to osobno i odpowiednio rozdzielić w kontrolerze?

0

Nie jestem dokładnie pewny co chcesz konkretnie osiągnąć. Jeśli chcesz przesyłać te same dane przez wszystkie kroki + nowe dane pozyskane w konkretnym kroku po prostu przekazujesz wszystko jeszcze raz do tego samego formularza w każdym kolejnym kroku na formularz podzielisz sobie warunkami.

To tak w wielkim skrocie. Jak mówiłem nie do końca wiem co chcesz osiągnąć.

0

Już sobie jakoś dałem rade :) W widoku, w foreach'u dodałem atrybuty data-h_pobierana_wartosc, w td, później onclick na row zbieram te atrybuty js'em i uzypełniam value hidden inputów, które dodałem do kolejnego okna dialogowego i wszystko smiga. Wielkie dzięki za pomysły, bo bez tego byłoby trudno.

Cel był taki:

    <tr>
		<td data-h...>id klienta</td>
		<td data-h...>id lokalu</td>
		<td data-h...>id inwestycji</td>
		<td data-h...>przypisane do</td>
	</tr> * ileś tam

Po kliknięciu w któryś table row otwiera się dialog z 2 inputami, w których podajemy status transakcji i ew. opis, jedank do bazy danych trzeba dodatkowo przekazać wartości td, więc chyba dobrze to rozwiązałem.

0

Nie jestem pewny musiałbym poznać całość :P Jak działa i robi co ma robić w miare bezpiecznie to powinno na razie być ok.

1 użytkowników online, w tym zalogowanych: 0, gości: 1