Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> aktualizowanie po selekcie
b0b3k
post 24.09.2006, 12:42:56
Post #1





Grupa: Zarejestrowani
Postów: 26
Pomógł: 0
Dołączył: 24.08.2006

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


Mam problem z pobraniem danych, a następnie ich aktualizacją. Najpierw chce wyciągnac id_tagu który pasuje określonym kryteriom a pozniej odjąć od count -1 w UPDATE dla id tego tagu....


probowalem z :

  1. UPDATE x_tagi SET count = count-1 WHERE x_tagi_filmy.id_filmu = '159' AND id_tagu = (SELECT id_tagu FROM x_tagi_filmy WHERE id_filmu = '159')


i z :

  1. SELECT x_tagi.id_tagu, x_tagi_filmy.id_filmu
  2. FROM x_tagi LEFT JOIN x_tagi_filmy ON x_tagi_filmy.id_tagu = x_tagi.id_tagu
  3. WHERE x_tagi.id_tagu != '38' AND id_filmu =159 FOR UPDATE; UPDATE x_tagi SET count = count -1


Ten drugi kod pobiera dobrze 1 rekord, natomiast przy UPDATE juz modyfikuje wszystkie :/
Go to the top of the page
+Quote Post
dr_bonzo
post 24.09.2006, 14:21:58
Post #2





Grupa: Przyjaciele php.pl
Postów: 5 724
Pomógł: 259
Dołączył: 13.04.2004
Skąd: N/A

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


Co do drugiego kodu
Cytat
przy UPDATE juz modyfikuje wszystkie

no i dziala prawidlowo, tzn. robi to co napisales:
  1. UPDATE x_tagi SET count = count -1

modyfiukuje wszystkie. Musisz wybrac rekord, ktory ma byc zmodyfikowany. Masz juz to ID tagu wiec uzyj go w warunku WHERE.
---------

Skoro uzywasz SELECTa to wyciagasz ID tego taga (mysql_fetch_*()) i podstawiasz do kolejnego zapytania UPDATE.
Mozesz pokombinowac i zrobic to z podzapytaniami, ale pierwsza opcja jest latwiejsza do wykonania.


--------------------
Nie lubię jednorożców.
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 Wersja Lo-Fi Aktualny czas: 28.06.2025 - 04:10