hmm,
so das hab ich jetzt mal schnell reingehackt und auch nicht testen können, es sollte eigentlich machen was du willst, wenn fragen auftauchen oder fehler bitte posten wir kümmern uns darum :
so das hab ich jetzt mal schnell reingehackt und auch nicht testen können, es sollte eigentlich machen was du willst, wenn fragen auftauchen oder fehler bitte posten wir kümmern uns darum :
Code:
<?php $heutejahr = date("Y",time()); $heute = date("d.m.Y",time()); $timerer = date("m",time()); $timererer = date("d",time()); $timestamp = mktime(0,0,0,$timererer,$timerer,$heutejahr); $conn = mysql_connect("datenbankserver","masteruser","masterpass"); if ($conn) { $sel = mysql_select_db("datenbankname",$conn); $query = "SELECT name, tag FROM jahrgangsstufe"; $result = mysql_query($query,$sel); $anzahl = 1; while ($zeileholen = mysql_fetch_array( $result, MYSQL_ASSOC )) { $schueler[$anzahl]["name"] = $zeileholen["name"]; $schueler[$anzahl]["tag"] = $zeileholen["tag"]; $anzahl++; } $anzahl--; for ($i=1;$i<=$anzahl;$i++) { $datum = explode ("-",$schueler[$i]["tag"]); //splittet das Datum auf, wir brauchen nur tag und Monat $schueler[$i]["timestamp"] = mktime(0,0,0,$datum[1],$datum[2],$heutejahr); // jeder bekommt ein timestamp in diesem Jahr } for ($i=1;$i<=$anzahl;$i++) { $schueler[$i]["abgerechnet"] = $timestamp - $schueler[$i]["timestamp"] // jetzt wird heute abgezogen } // so jetzt haben wir schonmal eine Liste , jetzt muss sie sortiert werden. // zuerst die postiven Absteigend, dann die negativen vom kleinsten an. // denn ddas geht dann ja von 31.12. runter auf heute. $positiv = 0; $negativ = 0; $heute = 0; for ($i=1;$i<=$anzahl;$i++) { if ( $schueler[$i]["abgerechnet"] > 0) { $positiv++; } if ( $schueler[$i]["abgerechnet"] < 0) { $negativ++; } } for ($i=1;$i<=$anzahl;$i++) { if ($schueler[$i]["abgerechnet"] == 0) { echo $schueler[$i]["name"]." hat heute Geburtstag<br>"; } } for ($i=1;$i<=$positiv;$i++) { $momstand = 1000*24*60*60; // 1000 Tage gibt es nicht $aktuell = 0; for($n=1;$n<=$anzahl;$n++) { if ($schueler[$n]["abgerechnet"] > 0) { if ($schueler[$n]["abgerechnet"] < $momstand) // wir suchen den kleinsten Abstand zu heute { $momstand = $schueler[$n]["abgerechnet"]; $aktuell = $n; } } } echo $schueler[$aktuell]["name"]."<br>"; $schueler[$aktuell]["abgerechnet"] = 0; } for ($i=1;$i<=$negativ;$i++) { $momstand = 0 // 1000 Tage gibt es nicht $aktuell = 0; for($n=1;$n<=$anzahl;$n++) { if ($schueler[$n]["abgerechnet"] < 0) { if ($schueler[$n]["abgerechnet"] < $momstand) // wir suchen die kleinste Zahl { $momstand = $schueler[$n]["abgerechnet"]; $aktuell = $n; } } } echo $schueler[$aktuell]["name"]."<br>"; $schueler[$aktuell]["abgerechnet"] = 0; } ?>
Kommentar