Griever: /(MySql) Löschen aus Datenbank wird nicht ausgeführt?

Beitrag lesen

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