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;
}
?>



Das hab bisher sogar ich nicht geschafft das System mit so ein Paar Zeilen in die Knie zu zwingen. Naja wie auch immer, ansonsten die anderen beiden Scripte erzeugen Mysql-Ressourceerrors, er mag ddeine Querys nicht
An der DB liegst nicht die heisst jahrgangsstufe es wird auch connectet und die DB ausgewählt, das funzt, ich hab auch den Query von v3 mit dem phpmyadmin ein zu geben, daber das geht auch nicht aus date(m-d) hab ich 11-28 gemacht aber nix gehtmehr.
Kommentar