1und1 MySQL Eintrag bei bestimmten Wert entfernen

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    • 1und1 MySQL Eintrag bei bestimmten Wert entfernen

      Hallo Entwickler,

      ich habe hier in 1und1 eine MySQLDatenbank, wo Veranstaltungen von Benutzern eingetragen werden können.
      In einer Tabelle werden die Veranstaltungen angezeigt werden. Das Problem ist, dass auch Veranstaltungen, die schon vorbei sind (Datum wird von Nutzer eingegeben) angezeigt werden.

      Kann man da irgendwo so etwas, wie eine Regel machen, dass vergangene Veranstaltungen nicht mehr angezeigt werden.
      Ich hab echt keine Ahnung von MySQL, ich soll das für einen Bekannten machen und eine gute Erklärung wäre super :)

      EDIT: Tag, Monat und Jahr sind jeweils einzeln als int angegeben.
    • Also normal speichert man ein Datum als timestamp ( int(11) ) oder als Datetime Objekt in der DB.

      Bin zwar jetzt auch nicht der Super SQL Profi, aber dadurch dass Tag/Monat/Jahr einzelne Felder sind, muesste die Abfrage ungefaehr so ausschauen:

      SELECT *
      FROM `tabelle`
      WHERE (`tabelle`.`jahr` >= aktuelles_jahr AND `tabelle`.`monat` >= aktueller_monat AND `tabelle`.`tag` >= aktueller_tag)
      OR (`tabelle`.`jahr` = aktuelles_jahr AND `tabelle`.`monat` > aktueller_monat)
      OR (`tabelle`.`jahr` > aktuelles_jahr)


      Angenommen 21.8.2012
      tag = 21
      monat = 8
      jahr = 2012


      SELECT *
      FROM `tabelle`
      WHERE (`tabelle`.`jahr` = 2012 AND `tabelle`.`monat` = 8 AND `tabelle`.`tag` >= 21)
      OR (`tabelle`.`jahr` = 2012 AND `tabelle`.`monat` > 8)
      OR (`tabelle`.`jahr` > 2012)

      Mit der WHERE Zeile bekommst du alle Termine die sich noch im Monat 8 befinden,
      mit der 1. OR Zeile alle restlichen Veranstaltungen diesen Jahres
      mit der 2. OR Zeile alle Veranstaltungen der weiteren Jahre

      Find ich persönlich sehr umständlich so. Kann aber auch sein, dass es eine passende SQL Funktion gibt die das vereinfacht.

      // Hoffe ich habe deine Frage richtig verstanden
      Knowing is not enough, we must apply.
      Willing is not enough, we must do.