Preisberechnung mit Saisonzeiten

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • #31
    Zitat von nitroox Beitrag anzeigen
    SELECT * FROM `saisonzeiten` WHERE beginn<='2014-07-26' AND ende>= '2014-08-09'
    bei dieser

    Kommentar


    • #32
      Funktioniert bei mir mit angepassten Tabellen- und Spaltennamen auf der Tabelle von h3ll's Post einwandfrei.

      Ist deine Tabelle mit entprechenden Daten gefüllt, sodass da auch tatsächlich eine Saison ausgegeben werden kann?
      Ihr habt ein Torturial durchgearbeitet, das auf den mysql_-Funktionen aufbaut?
      Schön - etwas Geschichte kann ja nicht schaden.
      Aber jetzt seht euch bitte php.net/pdo oder php.net/mysqli bevor ihr beginnt!

      Kommentar


      • #33
        CREATE TABLE IF NOT EXISTS `saisonzeiten` (
        `id` int(11) NOT NULL AUTO_INCREMENT,
        `z_id` int(11) NOT NULL,
        `u_id` int(11) NOT NULL,
        `name` varchar(255) NOT NULL,
        `beginn` date NOT NULL,
        `ende` date NOT NULL,
        `preis` varchar(5) NOT NULL,
        `faktor` varchar(5) NOT NULL,
        `tagespreis` varchar(20) NOT NULL,
        PRIMARY KEY (`id`)
        ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=9 ;

        --
        -- Daten für Tabelle `saisonzeiten`
        --

        INSERT INTO `saisonzeiten` (`id`, `z_id`, `u_id`, `name`, `beginn`, `ende`, `preis`, `faktor`, `tagespreis`) VALUES
        (1, 1, 0, 'A', '2014-01-01', '2014-06-21', '0', '0', '0'),
        (2, 1, 0, 'B', '2014-06-22', '2014-08-02', '0', '0', '0'),
        (3, 1, 0, 'C', '2014-08-03', '2014-12-31', '0', '0', '0');

        Kommentar


        • #34
          Für diese Daten liefert die Abfrage natürlich kein Ergebnis - wir haben schließlich den Fall, dass Anreise und Abreise in unterschiedlichen Saisonen erfolgen noch nicht abgedeckt. Genau das ist aber bei den Daten deiner Abfrage der Fall.
          Ihr habt ein Torturial durchgearbeitet, das auf den mysql_-Funktionen aufbaut?
          Schön - etwas Geschichte kann ja nicht schaden.
          Aber jetzt seht euch bitte php.net/pdo oder php.net/mysqli bevor ihr beginnt!

          Kommentar


          • #35
            Zitat von Quetschi Beitrag anzeigen
            Für diese Daten liefert die Abfrage natürlich kein Ergebnis - wir haben schließlich den Fall, dass Anreise und Abreise in unterschiedlichen Saisonen erfolgen noch nicht abgedeckt. Genau das ist aber bei den Daten deiner Abfrage der Fall.
            Klar verstehe ich nun auch. Jetzt brauchen wir diese abfrage für 2 unterschiedliche?

            Kommentar


            • #36
              Jap - jetzt musst du den Fall prüfen, dass die Anreise in einer Saison liegt, die Abreise jedoch in einer anderen. Versuch erstmal nur die Saison zu ermitteln, in der die Anreise stattfindet.
              Ihr habt ein Torturial durchgearbeitet, das auf den mysql_-Funktionen aufbaut?
              Schön - etwas Geschichte kann ja nicht schaden.
              Aber jetzt seht euch bitte php.net/pdo oder php.net/mysqli bevor ihr beginnt!

              Kommentar


              • #37
                Zitat von Quetschi Beitrag anzeigen
                Jap - jetzt musst du den Fall prüfen, dass die Anreise in einer Saison liegt, die Abreise jedoch in einer anderen. Versuch erstmal nur die Saison zu ermitteln, in der die Anreise stattfindet.
                Ich stehe da vollkommen auf dem Schlauch , da komm ich nicht weiter!

                Kommentar


                • #38
                  Die Anreise muss in einer bestimmten Saison liegen - also:

                  Anreise >= Saisonbeginn UND Anreise <= Saisonende

                  Nun müssen wir noch sicherstellen, dass die Abreise NICHT in der gleichen Saison stattfindet:

                  Abreise >= Saisonende

                  Also komplett:

                  Anreise >= Saisonbeginn UND Anreise <= Saisonende UND Abreise >= Saisonende


                  Blickst du das?
                  Zuletzt geändert von Quetschi; 29.07.2014, 20:59.
                  Ihr habt ein Torturial durchgearbeitet, das auf den mysql_-Funktionen aufbaut?
                  Schön - etwas Geschichte kann ja nicht schaden.
                  Aber jetzt seht euch bitte php.net/pdo oder php.net/mysqli bevor ihr beginnt!

                  Kommentar


                  • #39
                    Zitat von Quetschi Beitrag anzeigen
                    Die Anreise muss in einer bestimmten Saison liegen - also:

                    Anreise >= Saisonbeginn UND Anreise <= Saisonende

                    Nun müssen wir noch sicherstellen, dass die Abreise NICHT in der Saison stattfindet:

                    Abreise >= Saisonende

                    Also komplett:

                    Anreise >= Saisonbeginn UND Anreise <= Saisonende UND Abreise >= Saisonende


                    Blickst du das?
                    Ja blicke ich, dass alles in einem Query?

                    Kommentar


                    • #40
                      ja - steht ja im Prinzip eh schon da.
                      Ihr habt ein Torturial durchgearbeitet, das auf den mysql_-Funktionen aufbaut?
                      Schön - etwas Geschichte kann ja nicht schaden.
                      Aber jetzt seht euch bitte php.net/pdo oder php.net/mysqli bevor ihr beginnt!

                      Kommentar


                      • #41
                        Zitat von Quetschi Beitrag anzeigen
                        ja - steht ja im Prinzip eh schon da.
                        SELECT * FROM `saisonzeiten` WHERE ('2014-02-03' >= beginn AND '2014-02-03' <= ende AND '2014-02-13' >= ende)

                        Kommentar


                        • #42
                          Code:
                          SELECT
                              id
                          FROM
                              seasons
                          WHERE
                              '2014-02-03' BETWEEN begin_date AND end_date
                          OR
                              '2014-02-13' BETWEEN begin_date AND end_date

                          Kommentar


                          • #43
                            Genau - wenn du jetzt Daten abfrägst, die sich über zwei Saisonzeiten ziehen, erhälst du damit die Saison in der die Anreise liegt.

                            Analog dazu brauchst jetzt eine Abfrage, die dir die Saison der Abreise liefert.
                            Ihr habt ein Torturial durchgearbeitet, das auf den mysql_-Funktionen aufbaut?
                            Schön - etwas Geschichte kann ja nicht schaden.
                            Aber jetzt seht euch bitte php.net/pdo oder php.net/mysqli bevor ihr beginnt!

                            Kommentar


                            • #44
                              Zitat von Quetschi Beitrag anzeigen
                              Genau - wenn du jetzt Daten abfrägst, die sich über zwei Saisonzeiten ziehen, erhälst du damit die Saison in der die Anreise liegt.

                              Analog dazu brauchst jetzt eine Abfrage, die dir die Saison der Abreise liefert.
                              OK, also diese Abfrage liefert nur ein Ergebnis wenn eine Überschneidung vor liegt?

                              Kommentar


                              • #45
                                Genau.
                                Ihr habt ein Torturial durchgearbeitet, das auf den mysql_-Funktionen aufbaut?
                                Schön - etwas Geschichte kann ja nicht schaden.
                                Aber jetzt seht euch bitte php.net/pdo oder php.net/mysqli bevor ihr beginnt!

                                Kommentar

                                Lädt...
                                X