Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> problem z systemem zgłoszeń serwisowych, jak zaktualizować dane w dwóch tabelach jdnocześnie???
sal_sal
post
Post #1





Grupa: Zarejestrowani
Postów: 1
Pomógł: 0
Dołączył: 26.08.2006

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


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?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
sf
post
Post #2





Grupa: Zarejestrowani
Postów: 1 597
Pomógł: 30
Dołączył: 19.02.2003
Skąd: Tychy

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


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


Ten post edytował sf 26.08.2006, 17:46:51


--------------------
Zapraszam na mój php blog, tworzenie stron.
Go to the top of the page
+Quote Post
planet_x
post
Post #3





Grupa: Zarejestrowani
Postów: 21
Pomógł: 0
Dołączył: 13.06.2002
Skąd: mmz

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


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
Go to the top of the page
+Quote Post
cicik
post
Post #4





Grupa: Zarejestrowani
Postów: 219
Pomógł: 5
Dołączył: 18.07.2006
Skąd: Piekary Śląskie

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


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


--------------------
CMS dla Twojej firmy
Wojciech Małota
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 Aktualny czas: 21.08.2025 - 19:46