Mr.SergE Posted April 3, 2007 Report Share Posted April 3, 2007 Sveiki! Man te bišķiņ galva nestrādā, tāpēc lūdzu palīdzību. Ir datubāze, kurā viens no laukiem ir datetime. Ir php, kam jāizvada lauki no šīs datubāzes. Tad nu tagad sākas interesantākais: vajadzētu izvadīt visu ārā divos līmeņos, pieļaujot to, ka nav zināms, kurā datumā ir veikts pirmais un pēdējais ieraksts un ir zināms tas, ka veselu gadu var nebūt ieraksta vai kāda gada kādā mēnesī arī var nebūt ieraksta. t.i., lai beigās sanāk, piemēram, 2003 Janvāris Marts Augusts 2005 Jūlijs Augusts utt. Vai kāds varētu izskaidrot loģiku, kā veidot tāda veida izrakstu no datubāzes? Jau iepriekš pasakos! Link to comment Share on other sites More sharing options...
andrisp Posted April 3, 2007 Report Share Posted April 3, 2007 1) SELECT YEAR(datetime_lauks) GROUP YEAR(datetime_lauks) ORDER BY YEAR(datetime_lauks) 2) Luupojam cauri un katram gadam SELECT MONTH(datetime_lauks) WHERE YEAR(datetime_lauks) = $year GROUP BY MONTH(datetime_lauks) ORDER BY MONTH(datetime_lauks) Vai pareizi sarakstīju - īsti nezinu, pārbaudi pats :) Link to comment Share on other sites More sharing options...
Mr.SergE Posted April 3, 2007 Author Report Share Posted April 3, 2007 Great, paldies! Mēģināšu ar šito tikt galā, ja nu neizdosies, tad zināšu, kur griezties! ;) Link to comment Share on other sites More sharing options...
Mr.SergE Posted April 8, 2007 Author Report Share Posted April 8, 2007 Beigās gan uztaisīju biku savādāk, jo piedāvātais variants galīgi nestrādāja: SELECT DISTINCT YEAR(datumslaiks) FROM tabula ORDER BY YEAR(datumslaiks) ASC un SELECT DISTINCT MONTH(datumslaiks) FROM tabula WHERE YEAR(datumslaiks) = '".$gads."' ORDER BY MONTH(datumslaiks) ASC Link to comment Share on other sites More sharing options...
Delfins Posted April 9, 2007 Report Share Posted April 9, 2007 Lai to kaku katru reizi neselektētu ieteiktu glabāt DB jau gatavus skaitļus tabula_1 ====== year, month, count Link to comment Share on other sites More sharing options...
Mr.SergE Posted April 9, 2007 Author Report Share Posted April 9, 2007 vai gadījumā, ja datubāzē nav vairāk par 1000 ierakstiem, ir kāds loģisks pamatojums, kapēc taisīt vēl vienu datubāzi tikai tāpēc, lai vienkāršotu ierakstu atlasīšanu? Link to comment Share on other sites More sharing options...
Delfins Posted April 9, 2007 Report Share Posted April 9, 2007 nu pirmkārt kur tu rāvi mistiskos 1000 ierakstus, otrkārt ierakstus neattiecina uz DB... Treškārt, runa iet par tabulas izveidi ar 3 kolonnām, kas prakstiski neko "nesvers". Un beidzot, ir stulbi skaitīt katru reizi to pergu, kas nemaz tik viegla nav (nav viens SQL)... Tā ir ne tikai selektu vienkāršošana, bet arī perfomance uzlabošana (netiek lieki noslogots serveris) Link to comment Share on other sites More sharing options...
Recommended Posts