Avatar billede lademan Novice
27. oktober 2003 - 09:34 Der er 28 kommentarer og
1 løsning

antal poster postet i dag

Hej,

hvordan henter jeg antallet af poster i en database, hvor dagens dato er lig med datoen i databasen.

Datoformatet i databasen er time().

Jeg har flg kode:

$forum=mysql_query("select count(*) as antal from forum_indlaeg where $date_database = $date_now");
$rowsaelges=mysql_fetch_row($forum);
mysql_free_result($forum);
print "$forum[0]";
Avatar billede clausjul Nybegynder
27. oktober 2003 - 09:37 #1
Hvad med SELECT COUNT(*) AS antal FROM forum_indlaeg WHERE datofelt=NOW();
Avatar billede lademan Novice
27. oktober 2003 - 09:41 #2
Der kommer ikke noget ud af det? Datoformatet i databasen er time().
Avatar billede lademan Novice
27. oktober 2003 - 09:43 #3
Jeg er kun interesseret i alle de poster der er postet samme dag
Avatar billede clausjul Nybegynder
27. oktober 2003 - 09:45 #4
Hvis du bruger time så kan du ikke identificere, om posten er fra samme dag. Du er nødt til at lave et felt, som er datoen.
Avatar billede lademan Novice
27. oktober 2003 - 09:46 #5
Kan man ikke bruge noget:

" . date("dmY", dato) . " = " . date("dmY", time()) . "
Avatar billede clausjul Nybegynder
27. oktober 2003 - 09:47 #6
Brug datetime i stedet for. ;-)
Avatar billede lademan Novice
27. oktober 2003 - 09:49 #7
har du et eksempel? :-)
Avatar billede lademan Novice
27. oktober 2003 - 09:50 #8
jeg vil nemlig gerne beholde datoformatet som det er :)
Avatar billede detox Nybegynder
27. oktober 2003 - 09:51 #9
Hvad med:
SELECT * FROM forum_indlaeg WHERE TO_DAYS(datofelt) = TO_DAYS(NOW())
Avatar billede clausjul Nybegynder
27. oktober 2003 - 09:51 #10
Nu laver jeg lidt om:

lav dit datofelt til 'date'

og kør denne SQL:

SELECT COUNT(*) AS antal FROM forum_indlaeg WHERE datofelt=DATE_FORMAT(NOW(),'%Y-%m-%d')
Avatar billede lademan Novice
27. oktober 2003 - 09:52 #11
Jeg bruger php. Kan jeg beholde formatet og køre din version i php, detox?
Avatar billede lademan Novice
27. oktober 2003 - 10:00 #12
det kan da ikke passe at jeg skal ændre datoformatet for at trække denne info frem?
Avatar billede detox Nybegynder
27. oktober 2003 - 10:01 #13
Ja, nu er jeg ikke helt med på hvilken type dit felt er, men ellers prøv:

SELECT * FROM forum_indlaeg WHERE TO_DAYS(FROM_UNIXTIME(datofelt)) = TO_DAYS(NOW())
Avatar billede clausjul Nybegynder
27. oktober 2003 - 10:02 #14
Hvis datoformatet i databasen er time, så vises der kun HH:MM:SS og det kan ikke bruges!
Avatar billede detox Nybegynder
27. oktober 2003 - 10:03 #15
Ja, sådan har jeg ikke forstået det. Er det ikke php's time() du mener?
Avatar billede lademan Novice
27. oktober 2003 - 10:08 #16
jep!
Avatar billede detox Nybegynder
27. oktober 2003 - 10:09 #17
Så burde den sidste jeg lavede virke.
Avatar billede lademan Novice
27. oktober 2003 - 10:09 #18
datoformatet i databasen er:

<?PHP
time();
?>
Avatar billede lademan Novice
27. oktober 2003 - 10:16 #19
Jeg kan stadig ikke få det til at virke:

$forum=mysql_query("select count(*) as antal from forum_indlaeg where TO_DAYS(dato) = TO_DAYS(NOW())");
$rowforum=mysql_fetch_row($forum);
mysql_free_result($forum);

print "$forum[0]";
Avatar billede detox Nybegynder
27. oktober 2003 - 10:20 #20
$forum=mysql_query("select count(*) as antal from forum_indlaeg where TO_DAYS(FROM_UNIXTIME(dato)) = TO_DAYS(NOW())");
$rowforum=mysql_fetch_row($forum);
mysql_free_result($forum);

print "$forum[0]";
Avatar billede lademan Novice
27. oktober 2003 - 10:21 #21
"dato" er feltet i databasen, der lavet vha time()
Avatar billede lademan Novice
27. oktober 2003 - 10:24 #22
det var ligegodt codans! det virker stadig ikke? ingen fejlmedd. eller lign., - der vises bare ikke noget?
Avatar billede lademan Novice
27. oktober 2003 - 10:30 #23
hmmm - gider du at lave et script, der tæller antallet af indlæg i databasen, forum_indlaeg where TO_DAYS(FROM_UNIXTIME(dato)) = TO_DAYS(NOW()) ?

jeg tror nemlig det er resten af koden der er noget i vejen med (den del som du ikke har lavet :-)
Avatar billede detox Nybegynder
27. oktober 2003 - 10:33 #24
Prøv med:

$forum=mysql_query("select count(*) as antal from forum_indlaeg where TO_DAYS(FROM_UNIXTIME(dato)) = TO_DAYS(NOW())") or die(mysql_error());
$antal=mysql_result($forum,0);
mysql_free_result($forum);
echo $antal;
Avatar billede lademan Novice
27. oktober 2003 - 10:36 #25
Yes sir! Det var noget, der virkede!!
Avatar billede detox Nybegynder
27. oktober 2003 - 10:37 #26
Det var godt c",)
Avatar billede lademan Novice
27. oktober 2003 - 10:42 #27
Perfekt hjælp!
Avatar billede lademan Novice
27. oktober 2003 - 10:44 #28
Og det er den mest økonomiske måde at tælle poster på i databasen ikke?
Avatar billede detox Nybegynder
27. oktober 2003 - 10:48 #29
count(*) er den der bruger mindst resourcer, ja.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester