Wollte gerade einen Lösungsansatz posten (so mit umrechnen in UnixTime, aus der Differenz beider Zahlen die Anzahl der Tage mittels einfacher Division ermitteln u.s.w)
Aber wenn Du's nun selbst gefunden hast... Poste es doch, damit der nächste Suchenden (D)eine Lösung finden kann und es ihm nicht so geht wie Dir.
"Vielen Dank" für eure Hilfe ...
Bitte. Und sei nicht immer so ungeduldig...
Sorry. Hatte es aber etwas Eilig.
Hier meine "recht einfache" Lösung:
// Ist klar, dass das die Datumsangaben im Format TT.MM.YYYY sind.
$s_d=explode(".",$_REQUEST['datum_start']);
$e_d=explode(".",$_REQUEST['datum_end'] );
// Aktuelles Datum hinterlegen ... um 1 Tag verringern, damits mitgezählt wird.
$currentDatum = mktime(0,0,0,$s_d[1]-0,$s_d[0]-0,$s_d[2]-0) - 86400;
// Start und Enddatum Errechnen.
$startdatum = mktime(0,0,0,$s_d[1]-0,$s_d[0]-0,$s_d[2]-0);
$enddatum = mktime(0,0,0,$e_d[1]-0,$e_d[0]-0,$e_d[2]-0);
// Tage errechnen Eigentlich unbrauchbar geworden ...
$tage = (($enddatum-$startdatum)/86400)+1;
// MySql-Logindaten
include("logindaten.txt");
// Verbindungsherstellung
if(@mysql_connect($host,$name,$pass))
{
// Ausgabekorrekturpuffer ...
$d = 0;
// Datenbank wählen ...
mysql_select_db($daba);
// Selbsterklärend, oder? Enddatum +1 Tag, damit es nicht 1 Tag früher aufhört mit durchlaufen.
while($currentDatum != ($enddatum+86400))
{
// Sql erstellen.
$sql = 'INSERT INTO `sondertage` (`datum`) VALUES ("' . date("d.m.Y",$currentDatum) . '");';
// Korrekturpuffer prüfen ...
if($d != 0)
{
if(mysql_query($sql))
{
// Erfolg - Ausgabe
echo "eingetragen<br>";
}
else
{
// Fehler - Ausgabe
echo "Fehler aufgetreten!<br>";
// Fehlermeldung - Ausgabe
echo mysql_error();
break;
}
}
else
{
// Ausgabe
echo date("d.m.Y",$currentDatum)." wird eingetragen ... eingetragen<br>";
}
// Korrekturpuffer erhöhen ...
$d++;
// Tag hinzurechnen
$currentDatum += 86400;
// Letzten Tag abfragen ... (Damit am ende nicht "05.03.2006 wird eingetragen ...", obwohl nur bis 04.03.2006 geht ...)
if($currentDatum != ($enddatum+86400))
echo date("d.m.Y",$currentDatum)." wird eingetragen ... ";
}
Sieht vielleicht etwas Umständlich aus. Bin auch für Korrekturvorschläge offen.
--------------------------------------------------------------------------------------------------
Aber ich habe jetzt ein weiteres Problem. Ich kann die Einträge aus der Datenbank nicht löschen.
Hier der Code. (Stelle Markiert ...)
<?
// Musste ich mit Request abfangen, da selbst mit "globals = on" die Werte nicht
// als Variablen existierten auf meinen Apache (aktuell).
// Logindaten.
include("logindaten.txt");
@mysql_connect($host,$name,$pass);
mysql_select_db($daba);
// Fragen, ob a = del ist. (Wird auch gemacht, wenn man eins löscht.)
if($_GET['a'] == "del")
{
// Fragt, ob d gesetzt ist und stellt es dann einer einfachen variable zur verfügung.
if(isset($_GET['d']))
$d=$_GET['d'];
// Sql erzeugen.
$sql = 'DELETE FROM `sondertage` WHERE CONVERT(`datum` USING utf8) = \''+$d+'\' LIMIT 1;# Betroffene Datensätze: 1';
// Query ausführen und gleichzeitig abfragen.
if(mysql_query($sql))
{
echo "Eintrag für den " . $d . " gelöscht.";
}
// es funktioniert aber nicht.
}
$sql = 'SELECT * FROM `sondertage` LIMIT 0, 9999999 ';
$tages = mysql_query($sql);
$s = 0;
echo "<b>Bisherige Daten:</b><hr>";
while($i = mysql_fetch_row($tages))
{
$v = $i[0];
// Hier die Löschlinks ...
echo "$v - <a href='sondertage.php?a=del&d=$v'>Löschen</a><br>\n";
$s++;
}
?>
(Würde ja gerne den ganzen Code posten, aber der ist zu gewaltig.)
Brauch da jetzt wieder Help.
Und, Sorry wegen dem Drängelpost ...
MFG
Griever