Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: problem z systemem zgłoszeń serwisowych
Forum PHP.pl > Forum > PHP
sal_sal
Witam.
Nie wiem czy ktoś mi może pomóc z takim problemem:

Projektuję system rejestracji zgłoszeń reklamacyjnych, mam dwie tabele: zgłoszenie i wysyłka. Formularz dodawania wysyłki zawiera pola tekstowe: id_wysylki, data_wysylki, id_zgloszenia.

Jakiego zapytania mam użyć aby id_wysylki zostało zapisane zarówno w tabeli wysylka, jak i odpowiednim rekordzie tabeli zgloszenie (w rekordzie w którym id_zgloszenia jest takie, jak wpisane do pola tekstowego w formularzu dodawania wysylki)questionmark.gif?
sf
W PostgreSQL :

  1. SELECT NEXTVAL('nazwa_sekwencji');


pobierasz kolejne id, a potem to już poprostu

  1. INSERT INTO wysylka(id) VALUES(pobrane_id);
  2. UPDATE zgloszenie SET jakies_id = pobrane_id WHERE id = ustawione_id_w_formularzu
planet_x
z tego co mi wiadomo to jednym zapytaniem niezaktualizujesz dwuch tabeli, wiec sql odpada a w postrgret mozesz sprubowac oddzielic zapytania srednikiem; ale niewarto tego robic poniewaz sqlinjection wykorzystuje takie mozliwosci przy zle napisanym skrypcie sad.gif
cicik
W MySQLu (i we wszystkim co ma w nazwie SQL) bardzo latwo to zrobic transakcjami:

  1. start transaction
  2. INSERT INTO wysylka VALUES(blabla)
  3. SELECT @id := max(id_wysylka)
  4. UPDATE zgloszenie SET id_wysylka = @id WHERE blabla
  5. commit
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.