hallo... ik heb een vraagje..
Ik ben bezig een query te bouwen om daarmee de poster of the day (month, year) naar boven te toveren.
Ik heb alleen het volgende probleem..
Als ik in de database kijk naar de posttime rij kan ik niet achterhalen hoe de posttime wordt opgebouwd...
op moment van schrijven is dit de meest actule posttime: 1056819886
het lijkt erop dat er een standaard tijd gedifieerd is en daar het aantal seconden bovenop geteld zijn, maar is dat ook zo, en...
...hoe krijg ik dat teruggeteld naar de dag van vandaag???
Ik heb een portal fraaien van PHPNUKE 6.5 met PHPBB 2.04 voorheen met phpnuke6.0 en Splatt 4.0 (daar was de datum opbouw 2002-10-29 21:08 ) de query is dan een stuk eenvoudiger:
$today = getdate();
$day = $today["mday"];
if ($day < 10) {
$day = "0$day";
}
$month = $today["mon"];
if ($month < 10) {
$month = "0$month";
}
$year = $today["year"];
$tdate = "$year-$month";
$result=sql_query("SELECT * FROM ".$user_prefix."_users where (post_time LIKE '%$tdate%') ORDER BY user_posts DESC LIMIT 0,5", $dbi);
please help....
poster of the day (query)
Forumregels
Sinds 1 januari 2009 wordt phpBB2 niet meer ondersteund.
Onderstaande informatie is verouderd en dient uitsluitend als archief.
Sinds 1 januari 2009 wordt phpBB2 niet meer ondersteund.
Onderstaande informatie is verouderd en dient uitsluitend als archief.

- martijnkooi
- Berichten: 4
- Lid geworden op: 28 jun 2003, 18:04
- Locatie: Druten
- Contacteer:
- WebSiteNet
- Berichten: 6524
- Lid geworden op: 20 okt 2003, 16:56
- Locatie: Wieringerwerf
- Contacteer:
die 'onregelmatige cijfertjes' is het aantal seconden verstreken sinds epoch.
snapje het een beetje?
Hoe kan je dat naar een 'leesbare' datum veranderen? nou simpel: ik neem aan dat je de functie date met de varianten kent. in het eerste attribuut zet de de 'code' voor de datum en in de tweede de tijd .(gemaakt met de functie time.) als je topics van het afgelopen uur wil queryen(werkwoord?) voer je dit uit(uit m'n hoofd):PHP.net schreef:the number of seconds since the Unix Epoch (January 1 1970 00:00:00 GMT).
Code: Selecteer alles
mysql_query("SELECT * FROM phpbb_topics WHERE time > " . time() - 3600 . "");
- martijnkooi
- Berichten: 4
- Lid geworden op: 28 jun 2003, 18:04
- Locatie: Druten
- Contacteer:
Bedankt voor je snelle antwoord..
ik begrijp het (nog) niet helemaal.. maar :thumb: toppie..
Alleen begrijp je mijn vraag niet helemaal goed....
Ik wil eigenlijk weten...
Welke poster_id (user) de laatste 24 uur het vaakst een topic beantwoord heeft... eigenlijk dus het aantal keer dat een 'epoch-time' voorkomt binnen de door mijn gestelde normen..
Ik denk dat ik dmv array de datum moet terug herleiden naar (onze) gewone datumnotatie.. dan kan ik eerder gesommeerde query hopelijk wel (deels) gebruiken.
Maar heeft niemand nog het idee gekregen om iets te bouwen waarmee de meest-actieve-gebruiker van het messageboard per dag/week/maand/jaar te querien??
Maar al met al ben ik weer een heel eind verder.. helaas is de (fout)melding die ik nu krijg: Parse error: parse error, unexpected T_STRING
Toch enorm bedankt!
ik begrijp het (nog) niet helemaal.. maar :thumb: toppie..
Alleen begrijp je mijn vraag niet helemaal goed....
Ik wil eigenlijk weten...
Welke poster_id (user) de laatste 24 uur het vaakst een topic beantwoord heeft... eigenlijk dus het aantal keer dat een 'epoch-time' voorkomt binnen de door mijn gestelde normen..
Ik denk dat ik dmv array de datum moet terug herleiden naar (onze) gewone datumnotatie.. dan kan ik eerder gesommeerde query hopelijk wel (deels) gebruiken.
Maar heeft niemand nog het idee gekregen om iets te bouwen waarmee de meest-actieve-gebruiker van het messageboard per dag/week/maand/jaar te querien??
Maar al met al ben ik weer een heel eind verder.. helaas is de (fout)melding die ik nu krijg: Parse error: parse error, unexpected T_STRING

Toch enorm bedankt!

- WebSiteNet
- Berichten: 6524
- Lid geworden op: 20 okt 2003, 16:56
- Locatie: Wieringerwerf
- Contacteer:
De data op de manier die ik heir boven beschreef de data uit halen, steeds als een bepaalde username een optellen en vervolgens sorteren.
beetje lullig dat ik nu alles doe maar hij is nog niet af. ik heb maamd niet bij de tijden gedaan om dat 28, 29, 30 of 31 dagen kan zijn en een jaar 356 dagen of 355. en op deze manier selecteerd hij ook de posts van gasten. verder zie ik nog niks.
Code: Selecteer alles
<?
//
// de tijden in seconden
//
$tijden = array(
"uur" => 3600,
"2uur" => 7200,
"dag" => 86400,
"week" => ( 7 * 86400 ) // etc. etc.
);
$sql = "
SELECT
a.*,
b.*
FROM
" . USERS_TABLE . " a,
" . POSTS_TABLE . " b
WHERE
a.user_id = b.user_id
AND b.post_time > " . ( time() - $tijden['dag'] ). "
";
if( !$result = $db->mysql_query($sql) )
{
message_die(GENERALL_ERROR, "could not query posts");
}
$users = array();
while( $row = $db->fetchrow($result) )
{
if( !$users[$row['username']] )
{
$users[$row['username']] = 1;
}
else
{
$users[$row['username']]++;
}
}
$topuser = "";
$topposts = 0;
foreach($users AS $key => $waarde){
if($waarde > $topposts)
{
$topposts = $waarde;
$toppuser = $key;
}
}
if( !$topuser )
{
echo "No posts in the last 24 houres";
}
else
{
echo "The top posting user is " . $topuser . " with " . $topposts . " posts";
}
?>
- martijnkooi
- Berichten: 4
- Lid geworden op: 28 jun 2003, 18:04
- Locatie: Druten
- Contacteer: