Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: insert kilku tablic do bazy transakcją
Forum PHP.pl > Forum > PHP
barthez
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 smile.gif Czy możecie podsunąć jakieś rozwiązanie , naprowadzić....
memory
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. }
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.