Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> insert kilku tablic do bazy transakcją
barthez
post
Post #1





Grupa: Zarejestrowani
Postów: 28
Pomógł: 0
Dołączył: 10.04.2006

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


Witam.
Tworzę pewien formularz, który wyświetla z bazy około 50 dostępnych opcji do wybrania( są to chechbox-y), plus dodatkowe inne pola. Dane pobierane są z trzech tabel i następnie za pomocą tablic łąduje je do mysql. Tablice to założymy uprawnienia[], umiejętności[], doswiadczenie[]. Nie ma problemu(gdy każda tablica zawiera choć jeden zaznaczony element) , za pomocą transakcji zapisuje dane do bazy, commit i wszystko gra. Było pięknie do dziś, zmieniono trochę logikę i postanowiono, że pola z chcechbox-ami niekoniecznie muszą być zaznaczane choć mogą(do dziś było, że przynajmniej jeden checkbox z każdej tablicy musiał być zaznaczony)... Wiadomo można sprawdzić czy dana tablica istnieje, ale w tej transakcji mam z 8 insertów, gdybym chciał teraz dodatkowo porobić nowe warunki to sporo byłoby owych pętli (IMG:style_emoticons/default/smile.gif) Czy możecie podsunąć jakieś rozwiązanie , naprowadzić....

Ten post edytował barthez 31.08.2012, 20:25:30
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
memory
post
Post #2





Grupa: Zarejestrowani
Postów: 616
Pomógł: 84
Dołączył: 29.11.2006
Skąd: bełchatów

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


Napisz sobie funkcje (prepareInsert) która zwraca string "(id_pracownika, imie, nazwisko, pensja) VALUES (’012008′, ‘Jan’, ‘Kowalski’, ‘1321,56′)" z tablicy. Następnie

  1. public function insert($table, $data)
  2. {
  3. $data = $this->prepareInsert($data); //$data = (id_pracownika, imie, nazwisko, pensja) VALUES (’012008′, ‘Jan’, ‘Kowalski’, ‘1321,56′);
  4. if ($data === true)
  5. return $pdo->exec( "insert into $table $data"); // INSERT INTO uprawnienia (id_pracownika, imie, nazwisko, pensja) VALUES (’012008′, ‘Jan’, ‘Kowalski’, ‘1321,56′);
  6. }
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: 12.10.2025 - 04:45