29. december 2009 - 09:57Der er
4 kommentarer og 1 løsning
While - ændring af rækkefølgen
Hej Eksperter!
Jeg er igang med at et lille statistik system hvor jeg nu skal have skrevet mine data ud på en bestemt måde. Det virker fint, udover at det hele bliver skrevet ud i den forkerte rækkefølge. Her er koden:
<?php require_once('Connections/cms.php'); mysql_select_db($database_cms, $cms); $lastmonth = date("d") . (date("m")-1); $t = time(); while(date("dm", $t) != $lastmonth) { $t -= (24*60*60); $countdate = date("d m Y", $t); echo $countdate . "<br/>"; $counter_query = mysql_query("SELECT COUNT(DISTINCT ip) AS antal FROM counter where DATE_FORMAT(date,'%d %m %Y') = '$countdate' GROUP BY date") or die(mysql_error()); if(mysql_num_rows($counter_query)) { $row = mysql_fetch_array($counter_query); echo $row['antal'] . "<br/>"; } else echo "0<br/>"; } mysql_close($cms); ?>
Lige nu skriver koden den nyeste dato først, men den skal skrive den ældste først (altså den for 30 dage siden).
Er forresten åben for forbedringer, ændringer eller anden ny læring, så bare fyr løs :)
Virksomheder er på vej fra store sprogmodeller, der svarer på spørgsmål, til AI-agenter, der kan udføre opgaver på egen hånd. Det gør teknologien mere nyttig – og langt mere risikabel.
#1 Det er fordi jeg skal have skrevet nogle bestemte værdier ud fra den bestemte dato... I databasen står mine datoer også som YYYY-MM-DD. Men for brugervenlighedens skyld skriver jeg dem ud som DD-MM-YYYY.
2# Systemet er klart blevet mere brugbart efter jeg udskiftede:
Nu er der nemlig mulighed for at lave "last month" og "now" til variabler. Tak
Flere bud? - måske nogen der har løsningen til hvordan jeg arrangerer datoerne i den rækkefølge jeg ønsker, hvordan nyeste dato kommer til sidste og den ældste først?
discotk, saa er jeg her igen. Jeg er, som vi har diskuteret, enig i at det kan laves paa mange maader, men hvis dit spoergsmaal er at acceptere den kode du viser bortset fra at vende dato raekkefoelgen om saa er her et svar (som i tidligere indlaeg ret for database forbindelse og navn paa tabel). Kommentar: Koden viser ogsaa antal hits for idag. Hvis du ikke oensker det saa aendre $tomorrow til date("d") . date("m") (og saa vil du nok kalde den $idag i stedet.)
<? $link = mysql_connect ('christianjorgensen.be.mysql', 'christianjoygen', 'dnyBKKbe') or die(mysql_erorr()); mysql_select_db('christianjoygen') or die('Could not select database'); $tomorrow = (date("d")+1) . date("m"); $t = time() - (30*24*60*60); while(date("dm", $t) != $tomorrow) { $t += (24*60*60); $countdate = date("d m Y", $t); echo $countdate . "<br/>"; $counter_query = mysql_query("SELECT COUNT(DISTINCT ip) AS antal FROM discotk where DATE_FORMAT(date,'%d %m %Y') = '$countdate' GROUP BY date") or die(mysql_error()); if(mysql_num_rows($counter_query)) { $row = mysql_fetch_array($counter_query); echo $row['antal'] . "<br/>"; } else echo "0<br/>"; } mysql_close($link); ?>
Tak for hjælpen :) Er der ikke en måde hvor jeg kan ændre: $t = time() - (30*24*60*60);
til noget der ligner:
$t = strtotime('last month')
Synes godt om
Ny brugerNybegynder
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.