Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [Symfony]aktualizacja bazy
Papub
post
Post #1





Grupa: Zarejestrowani
Postów: 113
Pomógł: 1
Dołączył: 17.02.2006

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


Witam. Piszę aplikacje w symfony. Chcę zaaktualizacować zawartość rekordu w bazie danych w tabeli kategorie. Dane do akcji przychodzą z js.

  1. if($request->isXmlHttpRequest()) {
  2.  
  3. $con = Propel::getConnection();
  4.  
  5. $c1 = new Criteria();
  6. $c1->add(KategoriePeer::ID_KATEGORI, $this->getUser()->getAttribute('idkat'));
  7. $c1->add(KategoriePeer::NAZWA, $this->getRequestParameter('tytul'));
  8. $c1->add(KategoriePeer::ID_RODZICA, $this->getRequestParameter('rodzic'));
  9.  
  10. if(KategoriePeer::doUpdate($c1, $con)) {
  11. $response['type'] = 'success';
  12. } else {
  13. $response['type'] = 'error';
  14. }
  15. $this->status = json_encode($response);
  16. }


(UPDATE kategorie SET nazwa="1", id_rodzica="1" WHERE id_kategori = "1")

Powyżej to kod akcjii którym to załatwiam. Wszystko działa poprawnie kiedy dane które są różne niż te w bazie. Jeżeli w tabeli jest 1, 1, 1 i robię update na 1,1,3 wtedy będzie success. A jeżeli w tabeli jest 1,1,1 i zmieniam na 1,1,1 wtedy jest error. Jak to załatwić. Przecież nie będę najpierw wyciagał z bazy danych porównywał na poziomie akcji tych danych z tym co chce zapisać i jeżeli są różne to dopiero wykonywać update. Coś robię źle?

Pozdrawiam
Powód edycji: [strife]: Dodanie tagu
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Papub
post
Post #2





Grupa: Zarejestrowani
Postów: 113
Pomógł: 1
Dołączył: 17.02.2006

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


Nie doszukałem się w dokumentacji.
Zrobiłem coś takiego:
  1. $ret = KategoriePeer::doUpdate($c1, $con);
  2. $response['type'] = $ret;
  3. $this->status = json_encode($response);


i w firebugu sprawdziłem że gdy doda się prawidłowo zwraca {"type":1} a gdy ponownie dodam nie zmienione dane {"type":0}

w środowisku developerskim do góry w pasku nie zwraca żadnych błędów.

- a w sumie doczytałem, że podana liczba to liczba zmodyfikowanych wierszy. Wiec źle do tego podszedłem. W sumie chodzi mi nie o liczbe wierszy albo czy w ogóle coś zostało zmodyfikowane. Bardziej mi zależy na pozyskaniu informacji czy procedura updatu przebiegła prawidłowo. Czy podczas updatu nie nastąpił jakiś błąd. Żebym na partyzanta nie wyświetlił informacji użytkownikowi że dane zostały zaaktualizowane a tak na prawę okazałoby się że wystąpił błąd podczas updatu

Ten post edytował Papub 10.02.2012, 13:15:01
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: 3.10.2025 - 04:34