direktors Posted July 13, 2006 Report Share Posted July 13, 2006 (edited) ir doma veidot šādu tabulu: jaunumi: id|kategorija|nosaukums|bilde|ievads|pilns_teksts|autora_id|datums|gads|menesis|lasits|komentaru_skaits + komentari: id|jaunuma_id|autors|teksts|epasts|web|ip jautājums#1: vai ir nepieciešams izdalīt ievads un pilns_teksts jeb šos abus laukus apvienot un izvadot galvenajā lapā mazus ievadus jaunumiem limitēt izvadāmo simbolu skaitu.. kurā variantā performance būs labāka? jautājums#2: man ir sadaļa arhīvs un tur var izvēlēties gadu, pēc tam mēnesi un aplūkot rakstus. tam man papildus kolonnai datums ir arī kolonnas gads un menesis. vai ir iespējs iztikt bez šīm divām kolonnām un noteikt kuri raksti atbilst pieprasitajam gadam, menesim? un varbut vel kautkas ir piebilstams attiecībā uz tabulu laukiem..? paldies iepriekš. Edited July 13, 2006 by direktors Link to comment Share on other sites More sharing options...
Grey_Wolf Posted July 13, 2006 Report Share Posted July 13, 2006 kam tev adaliitas datumam 3 kolonas? pilniibaa pietiek ar vienu DATATE MySql ljoti labi maak atlasiit gan peec gada gan menesha gan datuma ;) kautvai vari paluugt atlasiit 33 dienas vecus utt.... Link to comment Share on other sites More sharing options...
direktors Posted July 13, 2006 Author Report Share Posted July 13, 2006 pec sava piemera es protu visu dabut. vai vari ko sikak izstastit, par to kā atlasīt ja atstāju vienu pašu lauku datums. laiku es saglabāju ievietoju tabulā ar time(), tas der tavam variantam? Link to comment Share on other sites More sharing options...
Grey_Wolf Posted July 13, 2006 Report Share Posted July 13, 2006 lai dabuutu vajadziigo datumu vienkaarsha saliidzinaashana SELECT * FROM tabula WHERE datums='2007-10-19' ja vajag gadu un menesi tad izmanto f-jas YEAR(), MONTH(), DAYOFMONTH() ja vajag ierakstiit tad izmanto CURDATE() , vai ar PHP DATE() izveido stringu.... ja vajag teiksim 33 dienas vecus ierakstus tad SELECT * FROM tabula WHERE datums < DATE_ADD(CURDATE(), INTERVAL 33 DAY) noformateetu datumu var dabuut DATE_FORMAT(datums,'%Y bla bala %m bla2 bla %d') as pilns_datums kur bla bla jebkas iznjemot % (lai to lietotu skat manuaali) Link to comment Share on other sites More sharing options...
direktors Posted July 13, 2006 Author Report Share Posted July 13, 2006 (edited) es tagad sāku pīpēt ieteikumus. tabulā laukam datums noradiju tipu datetime tālāk, $sql = "INSERT INTO jaunumi (nosaukums, datums) VALUES ( 'nosaukums kautkaads' , CURDATE())"; tabula aizpildās lūk kā: nosaukums kautkaads 2006-07-13 00:00:00 kādēļ laiks ir pa nullēm? un vai tiktāl doma ir pareiza, pēcāk varēs atlasīt pa gadiem, mēnešiem? EDIT: atradu, ka CURDATE() vietā var likt NOW(). tas strādā. saglabāts tiek YYYY-MM-DD HH:MM:SS. kā tad ir ar to izvadīšanu tagad? kā atlasīt piemēram 2005 gada jūnija ierakstus? Edited July 13, 2006 by direktors Link to comment Share on other sites More sharing options...
Grey_Wolf Posted July 13, 2006 Report Share Posted July 13, 2006 (edited) kam tev DATETIME ja pietiek ar DATE ? gribas arii pulksteni ? ;) <CIT> kā atlasīt piemēram 2005 gada jūnija ierakstus? </CIT> SELECT * FROM tabula WHERE YEAR(datuma_lauks)=2005 AND MONTH(datuma_lauks)=6 edit: CURDATE() ir prieks datutipa DATE // tikai datums NOW() prieksh DATETIME // datums un pulkstenis Edited July 13, 2006 by Grey_Wolf Link to comment Share on other sites More sharing options...
direktors Posted July 14, 2006 Author Report Share Posted July 14, 2006 gribas arii pulksteni ? ;) aha. lai atverot rakstu var cilvēks redzēt precīzu laiku kad tas pievienots. Liels paldies par palīdzību Grey_Wolf Tiktāl viss ir kārtībā. Link to comment Share on other sites More sharing options...
v3rb0 Posted July 14, 2006 Report Share Posted July 14, 2006 (edited) bet vai rakstīt šitā lai atlasa 2005 gada jūniju nebūs ātrāk select * from table where datuma_lauks >="2005-06-01" AND datuma_lauks<"2005-07-01" viena projecta tabulā ar 1632365 ierakstiem un indexu uz datuma_lauks selectējot 1 mēneša ierakstus ar * intervālu: 154,763 total, Query took 0.0225 sec * year() un month(): 154,763 total, Query took 1.6377 sec Edited July 14, 2006 by v3rb0 Link to comment Share on other sites More sharing options...
direktors Posted July 23, 2006 Author Report Share Posted July 23, 2006 (edited) viena projecta tabulā ar 1632365 ierakstiem un indexu uz datuma_lauks selectējot 1 mēneša ierakstus ar kā var piegrabināt db ar vismaz ar miljons ierakstiem? es uztaisiju mazu skritu ar for ($i = 1; $i <= 1000000; $i++) {... palaidu šamo.. pec minūtes uzmeta Fatal error: Maximum execution time of 60 seconds exceeded in C:\db.php on line 30 pa to minūti aptuveni 3800 ierakstus tikai veica. EDIT. un vai varat pateikt kadēļ man nežēlīgi bremzē lapa, ja es gribu viņā izvadīt kopējo rindu skaitu un izmantoju šādu kodu: $query = mysql_query("SELECT * FROM zinjuarhivs"); $number=mysql_num_rows($query); echo "<br />Kopв ievietoti raksti ".$number; vai iespējams kāds efektīvāks veids kā izvadīt šos datus? Edited July 23, 2006 by direktors Link to comment Share on other sites More sharing options...
v3rb0 Posted July 23, 2006 Report Share Posted July 23, 2006 * nomaini tās 30 secundes uz lielāku ciparu - php configā max execution time vai kko tādu pameklē. * atver ar operu, un uzliec lai automatsiki refreshojas reizi pardesmit secundēs. * nedari neko no tā, bet spaidi refresh - daudz :) Link to comment Share on other sites More sharing options...
bubu Posted July 23, 2006 Report Share Posted July 23, 2006 * laid php komandrindā. Link to comment Share on other sites More sharing options...
Forbidden Posted July 24, 2006 Report Share Posted July 24, 2006 set_time_limit(0) Link to comment Share on other sites More sharing options...
Grey_Wolf Posted July 24, 2006 Report Share Posted July 24, 2006 set_time_limit(0) un kaa noteiksi vai kompis uzkaaraas vai vel skripts izpildaas? taa vismaz zini ja peec 5 min neizmet eroru japarstartee, (janokauj dotaa sesija).... Link to comment Share on other sites More sharing options...
direktors Posted July 24, 2006 Author Report Share Posted July 24, 2006 (edited) atgriežoties pie neskaidrā. vai varat pateikt kadēļ man nežēlīgi bremzē lapa, ja es gribu viņā izvadīt kopējo rindu skaitu un izmantoju šādu kodu: $query = mysql_query("SELECT * FROM zinjuarhivs"); $number=mysql_num_rows($query); echo "<br />Kopв ievietoti raksti ".$number; vai iespējams kāds efektīvāks veids kā izvadīt šos datus? Edited July 24, 2006 by direktors Link to comment Share on other sites More sharing options...
v3rb0 Posted July 24, 2006 Report Share Posted July 24, 2006 select count(*) as cnt from zinjuarhivs Link to comment Share on other sites More sharing options...
Recommended Posts