Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Update kilku wierszy z roznymi wartosciami. Jak?
BarylA
post 25.07.2004, 16:50:00
Post #1





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

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


Witam wszystkich.
Jest to moj pierwszy post, ale mam nadzieje, ze nie ostatni smile.gif
Sproboje opisac swoj problem...

Uzytkownik na stronie wpisuje slowa kluczowe, ktore maja sie znalezc w tytule.
Na podstawie tego, skrypt wypelnia tabele 'wyniki_zapytanie' identyfikatorami ksiazek, ktore w swoim tytule maja ktorys z tych slow kluczowych. Do tego dodaje id_zapytania, zeby bylo wiadomo ktore ksiazki naleza do jakiego zapytania.
Jak juz sie wyswietli lista ksiazek, uzytkownik klika sobie w linki do ksiazek. Pierwsze klikniecie skutkuje zapisaniem do tabeli 'zapytanie_wybor' nastepujacych wartosci:
id_zapytania - ktorego zapytania dotyczy to klikniecie
id_ksiazki - na jakas ksiazke kliknal
kolejnosc - ktore w kolejnosci bylo to klikniecie ( w tym przypadki = 1 )
Kolejne klikniecie skutkuja tym samym, zmienia sie id_ksiazki, a kolejnosc sie zwieksza (2, 3, ...)

Na razie nie ma tu zadnej filozofii smile.gif

Przy nastepnym wpisaniu slow kluczowych do formularza, skrypt sprawdza, czy w tabeli jest juz takie zapytanie. Jesli nie ma to sytacja yglada jak powyzej. Jesli jest, to juz sie troche komplikuje.
Poczatek wyglada tak samo - do tabeli 'wyniki_zapytania' wstawiane sa id_ksiazki i id_zapytania. Wagi ustawiane standardowo na 1.
Potem chcialbym zaktualizowac te wagi w nastepujacy sposob:
dla ksiazek wystepujacych w tabeli 'wyniki_zapytania' sprawdzam, ktore z nich sa tez w tabeli 'zapytanie_wybor'. Oczywiscie id_zapytania tez musi sie zgadzac. Dla tych ktore sa, chce obliczyc srednia wartosc z kolumny 'kolejnosc' (dla kazdego id_ksiazki oddzielnie). To co mi wyjdzie chce dodac do kolumny waga w tabeli 'wyniki_zapytania'

Troche zakrecilem, wiec sprobuje napisac szkielet zapytania sql:

update wyniki_zapytania
set waga = wyn_zap.waga +
(select avg(zw.kolejnosc) from zapytanie_wybor as zw
where zw.id_zapytania = __id_zapytania__
group by id_ksiazki)
from wyniki_zapytania as wyn_zap, zapytanie as zap, zapytanie_wybor az zap_wyb
where zap.id_zapytania = wyn_zap.id_zapytania and
zap.id_zapytania = wyn_zap.id_zapytania and
wyn_zap.id_zapytania = __id_zapytania__ and
wyn_zap.id_ksiazki = zap_wyb.id_ksiazki

pewnie cos namieszalem, ale moze uda Ci sie Wam cos z tego zrozumiec

a na dodatek skrypt tworzacy baze: schemat
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: 29.02.2020 - 07:09