[ 01011011 @ 13.03.2006. 16:15 ] @
| Dakle kada se uradi neki search i recimo pretraga vrati nazad 360 REZULTATA u record set. sada imam trenutno samo ono accending ili descending order po broju slike ili image_id. Zelio bih da mi se ovi rezultati izlistavaju randomizirano.
Kkao da ovo uradim, a da ne mijenjam strukturu baze podataka, jer ne smijem da mijenjam. |
[ degojs @ 13.03.2006. 16:29 ] @
.. ORDER BY NEWID()
će da reši stvar ako je u pitanju SQL Server, ako se dobro sećam.
[ 01011011 @ 13.03.2006. 18:07 ] @
ovo nece raditi...
Problem je sto imam npr u rezultatu 12 stranica po 12 slika.
E sada svaki put kada kliknem na NEXT da idem na sledecu stranicu on opet zove funkciju i onda se opet sve randomizira... To ne smije da se dogadja, jer onda 12 stranica ako imam moze se dogoditi da 3-4 puta vidim istu sliku na razlicitim stranicama.
Znaci potrebno je da se uradi query i da se samo jednom uradi randomizacija i onda poslije toga da se sve sacuva u dataset i da se onda listaju stranice koje ce biti iste, znaci na stranici 4 ce uvijek biti 12 identicnih slika.
Sada ako odem na stranicu 5 pa se vratim na stranicu 4, sve je izmenjano...
???
hvala na brzonm odgovoru, da li neko ima neke ideje jos?
[ degojs @ 13.03.2006. 18:25 ] @
Ha, ja se sad vise ne secam detalja vezano za DataSet, ali mozda mozes da uradis nesto drugo: rezultat ORDER BY NEWID() stavi u privremenu tabelu (dovoljno je da prebacis samo primarni kljuc) i onda SELECT radi iz pogleda koji pridruzuje (JOIN) tu tabelu i onu pravu.
Mada.. cini mi se da mozes da prevuces komplet rezultat-set u DataSet, pa da onda radis filtriranje i sortiranje..
//update:
..te ako malo koristis Google, mozes da nabasas na tekst poput ovog:
http://www.akadia.com/services/dotnet_filter_sort.html
[Ovu poruku je menjao degojs dana 13.03.2006. u 19:32 GMT+1]
[ 01011011 @ 13.03.2006. 19:48 ] @
Kako mislis da napravim privremenu tabelu pa da po njoj sortiram ne razumijem.
Moj advanced search nije procedura posto imam 8 tabela kroz koje se vrsi provjera, pa sam svo kreiranje SQL statementa napravio kao dio programskog koda koji se generise na osnovu parametara.
[ rebelian @ 14.03.2006. 13:06 ] @
ako resursi na serveru dozvoljavaju (i ako sam dobro razumeo da se radi o web aplikaciji) mozda da prvi result smestis u Session i taj DataSet / DataTable koristis kao DataSource, samo tu ces imati problema da uradis sinhronizaciju ako se novi record pojavi u bazi i zadovoljava search condition, a user je vec uradio search, mada mozda je to mozda i zeljeni behaviour.
p.s. nadam se da result set sadrzi samo pathove do imagea a ne same image inace sve ovo pada u vodu jer sumnjam da neki server moze da odvoji toliko memorije za samo tu funkcionalnost. ;)
++ ne zaboravi da discardujes daj DataSet ( Session.Remove ) ako user ode sa search / result strane.
Copyright (C) 2001-2025 by www.elitesecurity.org. All rights reserved.