Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Zapisywanie tylko po zmianie
Kinool
post 20.07.2008, 07:36:17
Post #1





Grupa: Zarejestrowani
Postów: 560
Pomógł: 0
Dołączył: 15.07.2003
Skąd: Kwidzyn

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


ok wiec od początku smile.gif

z bazy wyciągam pewne rekordy, wchodzą one w tabele jako pola formularza np. Imie Nazwisko Adres, na stronie jest to listowane w tabeli

np. jako
  1. <input type="text" name="imie[1]" value="Jan" />
itp. każda część (imię, nazwisko, adres) w oddzielnym polu tak by można było hurtowo zmieniać dane a nie wchodzić w edycje pojedynczych wpisów.

w tej chwili w skrypcie przechodzę cała tabele z POST-a np.
  1. <?php
  2. foreach ($_POST['imie'] as $id=>$value)
  3. ?>
i i przez to robie UPDATE w bazie, działa to ale ... no właśnie ale po co edytować dane, które się nie zmieniły a bez sensu porównywać czy dane się zmieniły bo będzie to jeszcze mniej optymalne niż jest teraz smile.gif

pomyślałem sobie o jakimś mechanizmie w JS który by "oznaczał" tylko te pola w których nastąpiła edycja i tylko one by wędrowały do pętli smile.gif

coś podobnego jest w PHPMyAdmin przy edycji wpisu

za pomoc wielkie dzięki smile.gif


--------------------
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 1)
paziek
post 23.07.2008, 13:48:43
Post #2





Grupa: Zarejestrowani
Postów: 207
Pomógł: 25
Dołączył: 16.11.2006

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


  1. <input type="text" name="imie[1]" value="Jan" oldValue="Jan" />

w zależności od tego czy formularz wysyłąsz AJAXem - robisz zwykłe porównanie przed wysłaniem
  1. if(el.value!==el.getAttribute('oldValue') {/*wyślij dane z tego inputa*/}

lub jeśli tradycyjnie wysyłasz, to po ciśnięciu <input type="button" value="Wyślij" /> odpalasz funkcję, która zrobi porównanie elementów formularza (document.forms[0].elements) i usunie te, których wartość jest równa tej z oldValue.
  1. if(el.value===el.getAttribute('oldValue') {/*usuń tego inputa*/}

Następnie robisz form.submit(); do wysłania formularza (czy jak to tam poprawnie się robi) i gotowe.
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 20.07.2025 - 10:28