Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [JavaScript][MySQL][PHP]Edycja i zarazem dodawanie nowych danych do bazy, Formularz gdzie można dodawać pola w nieskończoność
alex19
post
Post #1





Grupa: Zarejestrowani
Postów: 172
Pomógł: 7
Dołączył: 23.12.2005
Skąd: Wejherowo

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


Potrzebuję zrobić taki myk, że jak użytkownik otworzy sobie formularz edycji, to zobaczy listę maili. Będzie mógł wyedytować to co już jest ale także dodać nowego maila.
Wszystko fajnie i prosto, bo maile dla danego ID(klienta) pobiorę sobie z bazy w pętli, powypełniam input'y i będzie to co już jest, użytkownik doda sobie nowe pole(a) i fajnie, ale jak zapisać do bazy nowe i poprawić te, które zostały zmienione.

Jeżeli zrobię sobie tak:
  1. <input type="text" name="email[]" />

to w efekcie dostane w PHP tablicę tych maili. Pytanie teraz jak rozróżnić te stare, które już były w bazie od tych, które trzeba dodać.

Czy jest jakieś sensowne i łatwe rozwiązanie tego problemu czy pozostaje tylko rzeźba z milionem warunków i zapytań do bazy?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
ayeo
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 1 202
Pomógł: 117
Dołączył: 13.04.2007
Skąd: 127.0.0.1

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


Możesz zdublować te inputy:
Kod
<input name="email[1][original_value]" hidden />
<input name="email[1][new_value]" />


Jeśli original_value jest inna niż new_value to znaczy, że było edytowane. Ta jedynka to id wiadomości. Jednak to sposób słaby bo podatny na manipulacje ze strony usera.

EDIT: to powyżej jest całkowicie bezsesnu (IMG:style_emoticons/default/smile.gif) Musiałbyś budować sobie tablicę/kolekcję tych maili (identycznie jak przy wyświetlaniu listy wcześniej) i to traktować jako original_value.

Ten post edytował ayeo 13.01.2014, 22:38:00
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 17.10.2025 - 14:12