Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] str_replace im Query anwenden?

Einklappen

Neue Werbung 2019

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

  • [Erledigt] str_replace im Query anwenden?

    Habe hier mal wieder ein Date Problem (while schleife). In der DB Datum = 31/03/2010
    Wenn ich die Seite öffne soll nur der aktuelle Monat und Jahr ausgegeben werden - also /03/2010
    Wie bekomme ich das Problem gelöst mit dem */ klappt die Abfrage nicht und wenn ich substr() anwende brauche ich vorher schon eine while Abfrage.

    PHP-Code:
    $ja date("Y");
    $mo date("m");
    $da "*/".$mo."/".$ja
    mit beidem komme ich zu keinem Ergebnis
    PHP-Code:
    $cut0 str_replace"/"""$year2 );
    $cut substr("$cut0"27);
    $ja date("Y");
    $mo date("m");
    $da $mo.$ja;
    $sql "SELECT * FROM activityreports WHERE year=$da ORDER BY year DESC";
    $result mysql_query($sql) or die(mysql_error()); 
        while (
    $myrow mysql_fetch_array($result))
        { 


  • #2
    Zitat von fulltilt Beitrag anzeigen
    Habe hier mal wieder ein Date Problem (while schleife).
    Was hat das mit einer while-Schleife zu tun?

    In der DB Datum = 31/03/2010
    Welcher Datentyp?

    Wenn ich die Seite öffne soll nur der aktuelle Monat und Jahr ausgegeben werden - also /03/2010
    Eine einfache Ausgabe kannst du per echo machen.

    Oder meinst du vielleicht, dass du nur die Datensätze des aktuellen Monats aus der Datenbank selektieren willst?

    mit dem */ klappt die Abfrage nicht
    Wieso sollte sie denn auch?

    und wenn ich substr() anwende brauche ich vorher schon eine while Abfrage.
    Ich weiss weder, was du hier mit substring, noch mit einer while-Schleife willst.


    Drück dich bitte mal etwas präziser aus.

    Kommentar


    • #3
      Ich bin verwirrt
      Selbst im Rollstuhl kann man die Menschenrechte mit Füßen treten.
      Die Politik darf kein hirnfreier Raum sein.

      Kommentar


      • #4
        Wenn ich die Seite öffne soll nur der aktuelle Monat und Jahr ausgegeben werden - also /03/2010
        Wie bringe ich das im Query hin das der Tag ignoriert wird?

        Kommentar


        • #5
          PHP-Code:
          $da $mo.'/'.$ja
          sowas? btw du kannst auch das so machen:

          PHP-Code:
          $cut explode('/',$year2);
          $ja $cut[2];
          $mo $cut[1];
          $da $mo.'/'.$ja
          apt-get install npm -> npm install -g bower -> bower install <package> YOLO https://www.paypal.me/BlackScorp | Mein Youtube PHP Kanal: https://www.youtube.com/c/VitalijMik

          Kommentar


          • #6
            Wie wäre es mit
            PHP-Code:
            $ja date("Y");
            $mo date("m");
            $da "%/".$mo."/".$ja
            Und:
            PHP-Code:
            $sql "SELECT * FROM activityreports WHERE year LIKE '$da' ORDER BY year DESC"
            * ist keine "Wildcard" in SQL!

            Grundsätzlich bleibt aber die Frage bzw. Anmerkung, dass 31/03/2010 kein wirklich geeignetes Datumsformat ist. Das ist ja weder in MySQL gültig, noch in PHP oder sonstwo. DAS würde ich zuerst prüfen und korrigieren. Dann kannste nämlich mit SQL Bordmitteln die Abfrage machen!
            Es ist schon alles gesagt! Nur noch nicht von allen! (Karl Valentin)
            Wenn du eine weise Antwort verlangst, musst du vernünftig fragen. (Johann Wolfgang von Goethe)

            Kommentar


            • #7
              Zitat von fulltilt Beitrag anzeigen
              Wenn ich die Seite öffne soll nur der aktuelle Monat und Jahr ausgegeben werden - also /03/2010
              Das ist die schlichte Wiederholung deiner vorherigen Aussage, nachdem ich dich gerade bat, dich präziser auszudrücken.
              Wie bringe ich das im Query hin das der Tag ignoriert wird?
              Also willst du wirklich nur die Daten des aktuellen Monats auslesen - ein schlichte „Ja“ auf diese Rückfrage hätte auch gereicht.


              Ich habe dir übrigens noch weitere Rückfragen gestellt - u.a. nach dem Datentyp, den deine Datumsspalte hat, und das ist für die Beantwortung dieser Frage durchaus wichtig.


              [OT]
              Warum zum Geier kriegen die Noobs es eigentlich fast nie gebacken, simple Rückfragen zu beantworten? Ist das ADS, mit dem Lesen von Antwortpostings die aus mehr als anderthalb Sätzen bestehen total überfordert - oder was ...?
              [/OT]

              Kommentar


              • #8
                Meine Verwirrung hat zwar noch nicht nachgelassen, aber versuche die Abfrage mal so:

                PHP-Code:
                $da $mo."/".$ja;
                $sql "SELECT * FROM activityreports WHERE year LIKE '%".$da."'"
                oder

                PHP-Code:
                $da $mo."/".$ja;
                $sql "SELECT * FROM activityreports WHERE (SUBSTR(year, 4, 7) = '".$da."')"
                Selbst im Rollstuhl kann man die Menschenrechte mit Füßen treten.
                Die Politik darf kein hirnfreier Raum sein.

                Kommentar


                • #9
                  beim aktuellen Datum kann ich ja was machen, aber in der Datenmbank ist year: 31/03/2010
                  Ich brauche ein WHERE year = $da
                  also der Wert Year aus der DB müsste bei der Ausgabe z.B. um 3 Zeichen gekürzt werden auf:
                  03/2010 und der / sollte raus ...


                  Zitat von BlackScorp Beitrag anzeigen
                  PHP-Code:
                  $da $mo.'/'.$ja
                  sowas? btw du kannst auch das so machen:

                  PHP-Code:
                  $cut explode('/',$year2);
                  $ja $cut[2];
                  $mo $cut[1];
                  $da $mo.'/'.$ja

                  Kommentar


                  • #10
                    Warum verwendest du nicht DATETIME?
                    Selbst im Rollstuhl kann man die Menschenrechte mit Füßen treten.
                    Die Politik darf kein hirnfreier Raum sein.

                    Kommentar


                    • #11
                      Danke - genau das habe ich gesucht


                      Zitat von redox Beitrag anzeigen
                      Meine Verwirrung hat zwar noch nicht nachgelassen, aber versuche die Abfrage mal so:

                      PHP-Code:
                      $da $mo."/".$ja;
                      $sql "SELECT * FROM activityreports WHERE (SUBSTR(year, 4, 7) = '".$da."')"

                      Kommentar


                      • #12
                        Toll. Spezialproblem gelöst. Bis zum nächsten Mal, wenn du mit deinem krummen Datumsformat ankommst...
                        Es ist schon alles gesagt! Nur noch nicht von allen! (Karl Valentin)
                        Wenn du eine weise Antwort verlangst, musst du vernünftig fragen. (Johann Wolfgang von Goethe)

                        Kommentar


                        • #13


                          Ich habe ein Datum in der DB gespeichert: "Donnerstag, 1. April 2010"
                          Ich will aber nur den Monatstag und das Jahr auslesen...
                          Selbst im Rollstuhl kann man die Menschenrechte mit Füßen treten.
                          Die Politik darf kein hirnfreier Raum sein.

                          Kommentar


                          • #14
                            Zitat von redox Beitrag anzeigen


                            Ich habe ein Datum in der DB gespeichert: "Donnerstag, 1. April 2010"
                            Ich will aber nur den Monatstag und das Jahr auslesen...
                            Hau' ab hier du ...



                            (kleiner Spaß)
                            Es ist schon alles gesagt! Nur noch nicht von allen! (Karl Valentin)
                            Wenn du eine weise Antwort verlangst, musst du vernünftig fragen. (Johann Wolfgang von Goethe)

                            Kommentar

                            Lädt...
                            X