Jump to content
php.lv forumi

Strādā, bet nesaprotu Kā?


Gacha

Recommended Posts

Rindiņa:

mysql_query("Select count(*) from hosts where DATE_FORMAT(NOW(),'%d')='$today'");

Nu šī rinda man strādā un viss ir ok!

 

Man ir tabula "hosts" un tur lauks "date" un no turienes panjemu shisdienas hostus. bet nesaprotu, ka mysql zina, no kura lauka skatities to datumu? Kas butu ja man butu kadi 3 lauki ar "date_time" formātu? Queryjā esmu norādījis tikai (NOW(),'%d') tie ir divi elementi - vajadzētu trešo.

 

kāds mošk zin?

 

Ps. Manuālī neko intresantu par šo neatradu, tur bij tieši kā man.

Link to comment
Share on other sites

Rindiņa:
mysql_query("Select count(*) from hosts where DATE_FORMAT(NOW(),'%d')='$today'");

Nu šī rinda man strādā un viss ir ok!

 

Man ir tabula "hosts" un tur lauks "date" un no turienes panjemu shisdienas hostus. bet nesaprotu, ka mysql zina, no kura lauka skatities to datumu? Kas butu ja man butu kadi 3 lauki ar "date_time" formātu? Queryjā esmu norādījis tikai (NOW(),'%d') tie ir divi elementi - vajadzētu trešo.

 

kāds mošk zin?

 

Ps. Manuālī neko intresantu par šo neatradu, tur bij tieši kā man.

NOW() ir funkcija, kas MySQL atgriež pašreizējo servera laiku. Attiecīgi - tev šajā gadījumā tiks atgriezti visi ieraksti.

 

NOW() vietā vajadzētu likt attiecīgās kolonas nosaukumu.

Link to comment
Share on other sites

Tā nu gan man liekas nebūtu, ja ielieku tur lauka nosaukumu tad tas rāda erroru. Cik pēc manuāla saprotu, tad NOW() tur ir jaliek tapēc, jo ar NOW() es datus ievietoju DB tb. es viņam pasaku, kāds man ir datuma formāts 2004-05-11 15:44

Link to comment
Share on other sites

now() nav tur jaaliek, jo ar nov tu tikai dabuu tekosho laiku.

 

visticamaak, ka now() vietaa jaaliek date, bet iisteniibaa te kveriju var uzrakstiit, neizmantojot $today mainiigo.

 

laikam vareetu buut kautas uz sho pusi where date=now()-86400

Link to comment
Share on other sites

now() nav tur jaaliek, jo ar nov tu tikai dabuu tekosho laiku.
Ar NOW() dabu ne tikai tekosho laiku bet ari datuma formatu. Tikpat labi NOW() vieta vareju rakstit 2004-03-12 12:44. Piemērs:
mysql_query("select COUNT(*) from com where DATE_FORMAT('0000-00-00 00:00:00','%d')='$today'");

visticamaak, ka now() vietaa jaaliek date, bet iisteniibaa te kveriju var uzrakstiit, neizmantojot $today mainiigo.

 

laikam vareetu buut kautas uz sho pusi where date=now()-86400

Šis querijs strada ideali un izskatas smukaks par date=now()-86400 un man date laukā formats ir date_time nevis timestamp.

Un jau tājums bija - kā mysql zina, kuru lauku skatīt, ja tas querija nav noradits?

Edited by Gacha
Link to comment
Share on other sites

laiks tik un taa visur tiek glabaats timestamp formaataa, neatkariigi no date, datetime vai timestamp formaata, dazjaadi datu tipi maina tikai datu formaatu vai to funkcionaalo iespeeju.

 

now() neformatee datumu, to dara funkcija date_format()

 

pameegjini select now()+0 redzeesi formaatu.

 

bet kaa tu nesaproti, ka tev tur netiek neviens lauks nolasiits tajaa kverijaa? tu tur saliidzini kautkaadus ar db nesaistiitus datus. DATE_FORMAT('0000-00-00 00:00:00','%d') = '$today'. tikpat labi vari uzrkastiit, where 1=1.

 

pareizaak buutu where date>now()-86400 (ar shito atlasa peedeejo 24h ierakstus)

Link to comment
Share on other sites

Nu ok, bet ka tas mysql zina no kura lauka skatities to datumu? varbut man ir 5 lauki kur ir datumi, bet katram ir dazhada nozime.

Tas jau ir tas, ko tev te visu laiku mēģina pateikt - kaut kur iekš query ir jānorāda tas ĪSTAIS lauks.

Link to comment
Share on other sites

Gacha: ieklausies, ko tev cilveeki saka!

Nu ok, bet ka tas mysql zina no kura lauka skatities to datumu? varbut man ir 5 lauki kur ir datumi, bet katram ir dazhada nozime.

Tur jau taa lieta, ka vinjsh neskataas nevienu lauku. Bet tas neliedz shai izteiksmei buut patiesai.

Tass ko tu esi uzrakstiijis ir:

Panjemt visus tabulas laukus ja shodienas datums patieshaam ir vienaads ar shodienas datumu.

 

Tikpat labi vareeji rakstiit:

Panjemt visus laukus, ja 0 ir mazaaka par 1;

Panjemt visus laukus, ja Peeteri sauc Peeteris;

utt.

Link to comment
Share on other sites

Sorry par stulbiem jautājumiem :rolleyes: Bet tagad laikam sapratu un izveidoju shādu kvēriju:

mysql_query("Select count(*) from hosts where DATE_FORMAT(date,'%d')=DATE_FORMAT(NOW(), '%d')");

Un tas pat strādā! B)

Link to comment
Share on other sites

×
×
  • Create New...