Home | Registrieren | Einloggen | Suchen | Aktuelles


Forum » PHP & MySQL » Monate... Antworten
Monate...

Lewi
Quasselstrippe


Beiträge: 288


Hi,

ich hab ein Problem, das auf zwei Möglichkeiten gelöst werden könnte:


1.

$month = "01";
$year = "2000";

Das Script soll mir alle Monate von Januar 2000 bis zum Momentanen in einer Liste aufführen. (Monatsnamen ausgeschrieben mit Jahr)


2.

eine mySQL-Tabelle hat mehrere Datensätze, jeder hat in einem Feld einen Unix-Timestamp.
Das Script soll wiederrum eine Liste ausgeben, in dieser soll jeder Monat, der in den Timestamps vorkommt, mit ausgeschriebenem Namen und Jahr *einmal* drinstehen.


Hat einer von euch eine Idee, wie eine der beiden Sachen zu realisieren wäre?


Gruß

the_doc

---
Lewi = ehemals the_doc

  Profil   Website   Editieren   Zitieren

Manticor
Quasselstrippe


Beiträge: 240


Habe mich für die 2. Möglichkeit entschieden :

<?php

/* Erzeuge Timestamps */
srand ((double)microtime()*1000000);
for ($i=0;$i<=20;$i++)
$ts[]=rand(947000000, time());

/* Erzeuge Kontrollausgabe */
foreach ($ts as $k=>$v)
{
echo "$v ".date("m-Y",$v)."<br />n";
}

echo "<br />n";

/* erwartet Jahr, bei 0, werden alle Jahre berücksichtigt */
function makelist($year)
{global $ts;

/* Sortiere Timestamps */
sort($ts);

if ($year==0)
{
/* Erzeuge Strings im Format mm-yyyy */
foreach ($ts as $k=>$v)
{
$alle[]=date("m-Y",$v);
}
}
else
{
$startts=mktime(0,0,0,1,1,$year);
$endts=mktime(23,59,59,12,31,$year);
foreach ($ts as $k=>$v)
{
if (($v>=$startts) && ($v<=$endts))
$alle[]=date("m-Y",$v);
}
}

$liste=array_unique($alle);

return ($liste);
}

$foo=makelist(2001);

foreach ($foo as $k=>$v)
echo "$v<br />n";

?>

Bis zur "function" werden nur Testdaten erzeugt, ist also für Dich nicht nötig, Du musst aber die Timestamps aus der DB in einem Array ($ts[]) zur Verfügung stellen.
Außerdem gibt es die Möglichkeit eine komplette Liste über Jahresgrenzen hinweg zu erstellen, wenn man makelist eine 0 übergibt. Falls Du diese Teilfunktionalität nicht brauchst, kannst Du auch den ersten Teil der if-else-Anweisung weglassen.

_________________




---

  Profil   E-Mail   Website   Editieren   Zitieren

Lewi
Quasselstrippe


Beiträge: 288


wow, vielen dank! ))

Ich hab das ganze noch ein wenig modifiziert und dann eingebaut - funktioniert ohne Probleme! Zu bewundern unter http://my-weblog.net02.de (Gibt leider erst einen Monat ).

---
Lewi = ehemals the_doc

  Profil   Website   Editieren   Zitieren

tobias
Foren-Team


Beiträge: 708


Schön, ein neues Weblog-Skript! Eine Kommentarfunktion solltest du auf jeden Fall noch einbauen. Außerdem einen Verweis "Link" zu einer Seite, die nur den jeweiligen Eintrag anzeigt. So kann man dann auch auf einzelne Beiträge verlinken.


  Profil   Website   Editieren   Zitieren

tobias
Foren-Team


Beiträge: 708


Und du solltest nicht unbedingt Grafiken (von SelfHTML) klauen


  Profil   Website   Editieren   Zitieren

Lewi
Quasselstrippe


Beiträge: 288



tobias schrieb am 2002-12-10 17:43 :
Und du solltest nicht unbedingt Grafiken (von SelfHTML) klauen



ist nur eine testgrafik - das ganze ist ja noch nicht offiziell ;)

Ich werd das ganze auf jeden Fall noch deutlich erweitern, hab erst vorgestern angefangen...

---
Lewi = ehemals the_doc

  Profil   Website   Editieren   Zitieren
 

Antworten
Nach oben