Einträge nach Monaten aufschlüßeln

low-group

Erfahrenes Mitglied
hi,

ich nochmal ;-)

Ich habe in der DB Einträge mit Datum stehen (Unixtime). Wie kann ich diese am besten nach Monat und Userid getrennt ausgeben, also alle Beiträge eines User nach Monat extra ausgeben.
 
PHP:
<?
#
# nur eine Idee ! !
#

$thismonth = date("F");
$query = mysql_query("ALLES AUSLESEN");
while($row = mysql_fetch_assoc($query)) {
 if(date("F", $row['time']) == $thismonth) echo 'hier passts ...';
 }
?>
 
nein, nach deinem Code fomatiert er nur das Datum, wenn es gleich dem momentanen Monat ist, mehr nicht. Man müßte diesen Monatsabfrage in where einbinden irgendwie. Hier mal mein Code ohne Monatstrennung:


PHP:
$result = $db->query("SELECT subject, posttime, adr, userid FROM  bb".$n."_portal_artikel WHERE posttime AND userid=".$userdata['userid']." ");
while($row = $db->fetch_array($result)){  
$postmonat=formatdate("F",$row['posttime']);
$subject = htmlconverter($row['subject']);
$adr = htmlconverter($row['adr']);
eval ("\$portal_monbit .= \"".$tpl->get("portal_monbit")."\";");
}
eval("\$tpl->output(\"".$tpl->get("portal_monat")."\");");
 
Schlechte Idee! ;)

Hier mein Vorschlag:

PHP:
<?php
$m = date('F');
$Y = date('Y');
$thismonth = mktime(0,0,0,$m,0,$Y);
mysql_query("SELECT * FROM items WHERE user_id=$UserID AND time>=$thismonth");
?>

Bei dieser Query sollten (wenn ich mich da jetzt nicht irgendwo vertippte) nur die Datensätze eines bestimmten Users und des aktuellen Monats ausgegeben werden.


EDIT:
Das schlechte Idee galt nur dem 2. Beitrag (aus genanntem Grund).
Aber ich denke, ich hab' noch die einfachste Lösung, oder?
 
Zuletzt bearbeitet:
die Idee is an sch schonmal gut, nur wird imernoch die beiträge vom Vormonat mit ausgegeben.

[edit]

wenn ich expliziet den Monat hier $thismonth = mktime(0,0,0,3,0,$Y); angebe, geht es. Mal sehen wie ich dies noch besser aufschlüßeln kann

[edit2]

so muß das eine bei dir bei Monat heißen: $m = date('n');
 
Zuletzt bearbeitet:
Yo mktime() wär mein zweiter Gedanke gewesen, leider bin ich grad zu faul gewesen den weiter auszudenken - hab ich nun davon :-(
 
Zurück