Temos pavadinimas: WordPress, Shopify ir PHPFusion programuotojų bendruomenė :: Laiko nustatymas užklausoje
Parašė Narysx· 2010 Sau. 16 01:01:54
#1
Tarkim turiu užklausą
select * from ".DB_DOWNLOADS." where tralialia='LA' order by download_title
kaip man padaryti, kad imtų tik tuos siuntinius, kurie įkelti ankščiau nei prieš 31 dieną? Yra laukelis download_datestamp ir su juo kažkaip reik padaryt, su where. Jei siuntinys įkeltas prieš 32, 33, 34, ..., 58 ir t.t. dienas, tai jo nevaizduoja, bet jei įkeltas prieš 2, 3, ..., 15 ir t.t. dienų, tada vaizduoja. Ačiū iš anksto.
Parašė ex-it· 2010 Sau. 16 15:01:10
#2
WHERE download_datestamp > ".(time()-31*24*3600)."
Parašė Narysx· 2010 Sau. 16 15:01:38
#3
Hm. Dabar vistiek susidūriau su problema. Pas mane vaizdavimas daromas per dvi užklausas, todėl nesuveikia šis kodas. Vistiek rodo visus siuntinius. Kaip sujungt tas dvi užklausas? Va jos:
$dow = @mysql_query("SELECT rating_item_id, rating_type, rating_datestamp, COUNT(rating_datestamp) as kiekbalsavo, COUNT(rating_datestamp) / 3 + AVG(rating_vote) as viso, AVG(rating_vote) as vidurkis from ".DB_RATINGS." WHERE rating_type='F' group by rating_item_id order by viso DESC LIMIT 0,8");
ir
$result = dbquery("SELECT * FROM ".$db_prefix."downloads WHERE download_submit = '0' AND download_id = '$rating_item_id' AND download_datestamp > ".(time()-31*24*3600)."");
Redagavo Narysx· 2010 Sau. 16 15:01:29
Parašė ex-it· 2010 Sau. 16 15:01:15
#4
ble pla nebesuprantu :D nori kad rodytu naujesnius nei 31 dienos, ar senesnius nei 31d ? :D
Parašė Narysx· 2010 Sau. 16 15:01:55
#5
Naujesnius. Bet dar pagal reitingą.
Parašė ex-it· 2010 Sau. 16 15:01:07
#6
koks skirtumas, vistiek neturi rodyti senesniu, nes cia AND yra o ne OR
Parašė Narysx· 2010 Sau. 16 15:01:15
#7
Nerodo. Nes prieš tai yra vykdoma kita užklausa - renkami pagal balsus siuntiniai, ir tik toje antroj jau renki vieno konkretaus siuntino info, todėl netinka toje vietoje dėti tą tavo where time(). Pats atidžiai pažiūrėk į abi užkl.
Parašė ex-it· 2010 Sau. 16 15:01:45
#8
Kas tau netinka, ka cia sneki sudus? :D kas kaltas, kad nemoki uzklausu normaliu pasirasyti, mano duotas apibrezimas padaro kad rodytu tik naujesnius nei 31 dienos siuntinius ir viskas..
Parašė Narysx· 2010 Sau. 16 16:01:06
#9
Tavo duotas kodas tik nustato tam tikrą datą. :D O jei pas mane yra
SELECT * FROM ".$db_prefix."downloads WHERE download_submit = '0' AND download_id = '$rating_item_id' AND download_datestamp > ".(time()-31*24*3600)."
tai js nieko nereiškia, nes čia ir taip jau traukia vieną konkretų siuntinį. Todėl reik daryt bendrą užkl. su ta kur aukščiau yra. Aš po to ir klausiau, kaip tai padaryt.
Parašė ex-it· 2010 Sau. 16 16:01:14
#10
eik pagrindu skaityt, cia tas pats kaip WHERE id=1 AND name='lol', jei abu atitinka, tada rodys tau ta maura selectinta, kartoju cia ne OR !
Parašė Narysx· 2010 Sau. 16 16:01:40
#11
Ždž, tu nesupranti ko aš noriu. :D Aš ir pats žn, kad AND - tai turi atitikt abu ir tik tada vaizduoja.