Tage ermitteln

Einklappen
Dieses Thema ist geschlossen.
X
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • #31
    Zitat von h3ll Beitrag anzeigen
    Aber du hast doch behauptet, dass sich für eine "von-bis" Schleife while anbietet, oder?
    Ich habe überhaupt nichts generell behauptet, sondern von diesem Fall gesprochen.
    Warum reitest du da jetzt so drauf rum ...?

    PHP-Code:
    $datum time();
    $ende strtotime('+6 weeks');

    while((
    $datum strtotime('next wednesday'$datum)) < $ende) {
      
    // mache irgendwas mit dem Datum, bspw.  
      
    echo date('r'$datum)."\n";

    Das ist doch 'ne hübsch logische kleine Schleife - mache so lange was mit dem jeweils nächsten Mittwoch, bis Zeitpunkt $ende erreicht ist.
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #32
      PHP-Code:
      for ($date = new DateTime(); $date <= $date_end$date->modify('next wednesday')) {
          
      /* ... */

      Kommentar


      • #33
        OffTopic:
        Jetzt wirds ungemütlich!

        Kommentar


        • #34
          Ich danke Euch für die Ausführungen.

          Leider komme ich so nicht zum Erfolg.
          PHP-Code:
          $datum_von "2010-08-22";
          $datum_bis "2011-07-22";

          for (
          $date = new DateTime($datum_von); $date <= $datum_bis$date->modify('next wednesday')) {

              echo 
          $date->format('Y-m-d')."<br>"


          Was mach ich falsch, so durchläuft er die Schlauf gar nicht

          Kommentar


          • #35
            PHP-Code:
            $date_from = new DateTime("2010-08-22");
            $date_to = new DateTime("2011-07-22");

            for (
            $date = clone $date_from$date <= $date_to$date->modify('next wednesday')) {
                echo 
            $date->format('Y-m-d') . '<br />';

            Kommentar


            • #36
              Besten Dank, funktioniert einwandfrei.

              Nun, muss ich nur noch gewisse Wochen innerhalb der Zeitspanne ausblenden dann ist es so wie ich will.

              Das Ausblenden kann ich ja mit einer switch case bedingung ausfiltern, oder gibt es auch da eine einfachere Möglichkeit?
              Zuletzt geändert von sepp; 20.04.2011, 18:20.

              Kommentar


              • #37
                Zwischen was willst du switchen?

                Evtl. könnte ein if/elseif-Konstrukt einfacher sein.

                Aber vielleicht lieferst du diesmal den Ansatz?

                Kommentar


                • #38
                  Ich habe es nun so gemacht

                  PHP-Code:
                          if($date != $date_from && ($date <= new DateTime("2011-04-24") or $date >= new DateTime("2011-05-07")))
                          {
                          echo 
                  $date->format('Y-m-d') . '<br />';
                          } 
                  kann man das auch noch schlauer machen?
                  Und die Woche kann man nicht auch gleich ausgeben lassen oder?
                  Zuletzt geändert von sepp; 20.04.2011, 22:55.

                  Kommentar


                  • #39
                    Zitat von sepp Beitrag anzeigen
                    Und die Woche kann man nicht auch gleich ausgeben lassen oder?
                    Wenn sich jetzt ernsthaft herausstellt, dass du nicht mal den Format-Parameter 'W' durch selbstständiges Nachlesen im Manual zu finden in der Lage warst, dann gibt's aber echt Ärger ... also sag bitte, dass du was anderes damit gemeint hast.
                    I don't believe in rebirth. Actually, I never did in my whole lives.

                    Kommentar


                    • #40
                      Ja, habe natürlich was anders gemeint - Danke trotzdem.

                      Nächstes Problem:
                      Wenn ich also die diversen Daten eintrage an welchen kein Datum ausgegeben werden soll geht das ja so.
                      PHP-Code:
                      if($date != $date_from && ($date < new DateTime("2011-04-24") or $date > new DateTime("2011-05-07")) && ($date < new DateTime("2010-12-20") or $date > new DateTime("2011-01-08"))) 
                      Nun kommen aber meine Leerdaten aus der DB MYSQL.
                      PHP-Code:
                              $abfrage_kalenderdaten mysql_query ("SELECT * FROM $tab_kalenderdaten");
                              while (
                      $row mysql_fetch_array ($abfrage_kalenderdaten)) 
                              {
                              
                      $event_von $row["datum_event"];
                              
                      $event_bis $row["datum_event_end"];
                              
                              } 
                      Wie kann ich nun in der if Bedingung diese Variabeln einbinden?

                      Ich wollte die Abfrage innerhalb der if bedingung setzten und dann beim Duchlauf
                      PHP-Code:
                       && ($date < new DateTime("$event_von") or $date > new DateTime("$event_bis")) 
                      dazu schreiben -geht aber leider nicht.

                      Bsp:
                      PHP-Code:
                          if($date != $date_from
                                  $abfrage_kalenderdaten 
                      mysql_query ("SELECT * FROM $tab_kalenderdaten");
                                  while (
                      $row mysql_fetch_array ($abfrage_kalenderdaten)) 
                                  {
                                  
                      $event_von $row["datum_event"];
                                  
                      $event_bis $row["datum_event_end"];
                                  
                                  && (
                      $date < new DateTime("$event_von") or $date > new DateTime("$event_bis"))
                                  } )
                              { 

                      Wie gehe ich da vor?

                      Ich liebe Euch Danke bereits im voraus.
                      Zuletzt geändert von sepp; 21.04.2011, 01:37.

                      Kommentar


                      • #41
                        Ist denn meine letzte Frage so doof, dass ich keine Antwort darauf bekomme?

                        Kommentar


                        • #42
                          Zitat von sepp Beitrag anzeigen
                          Ist denn meine letzte Frage so doof, dass ich keine Antwort darauf bekomme?
                          Nur die letzte ...?

                          Zitat von sepp Beitrag anzeigen
                          geht aber leider nicht.
                          „Funzt nicht“ ist keine Problembeschreibung.

                          Beschreibe bitte ausführlich, was deine Debugmaßnahmen ergeben haben.
                          I don't believe in rebirth. Actually, I never did in my whole lives.

                          Kommentar


                          • #43
                            Ich bekomme einen Parse error

                            Parse error: syntax error, unexpected T_VARIABLE in

                            dieser Zeile
                            PHP-Code:
                                if($date != $date_from
                                        $abfrage_kalenderdaten 
                            mysql_query ("SELECT * FROM $tab_kalenderdaten"); 
                            das ist weil ich in der Bdingung gleich die Abfrage starte, wenn ich davor ein && schreibe (was ich nicht möchte) wird nach dem das unexpected ';' entfernt wurde die Fehlermeldung
                            Parse error: syntax error, unexpected T_WHILE
                            angezeigt - und da stehe ich auch gleich auf dem Schlauch, wie kann ich die WHILE Schleife bzw. Abfrage innerhalb einer if Bedingung schreiben?

                            Geht das denn überhaupt?

                            Kommentar


                            • #44
                              Zitat von sepp Beitrag anzeigen
                              das ist weil ich in der Bdingung gleich die Abfrage starte
                              Du startest da überhaupt keine Abfrage, sondern verletzt lediglich die Syntax.

                              Wenn dir noch die absoluten Grundkenntnisse bzgl. der Syntax von PHP fehlen, dann arbeite bitte ein Einsteiger-Tutorial durch.

                              Es reicht jetzt hier. Das ist kein Tutorial-Vorlese-Service. Darum, die absoluten Basics zu erlernen, kümmerst du dich bitte selber.

                              *close*
                              I don't believe in rebirth. Actually, I never did in my whole lives.

                              Kommentar

                              Lädt...
                              X