date_format Problem

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

  • date_format Problem

    Hallo an alle,

    also ich habe folgendes Problem.
    Ich habe eine variable mit dem namen $partydate und dem wert 2006-10-20.

    Zum zweiten habe ich eine datenbank mit einem datetime feld.
    Ich möchte nur das datum auslesen und nur die einträge ausgeben die gleich $partydate sind.
    Klappt, so wie ich es probiert habe, nicht wiklich.

    Lösungsvorschläge?

    PHP-Code:

    $sql
    ="
        SELECT date_format(stamp, '%Y-%m-%d')AS stamp 
        FROM veranstaltungen 
        WHERE stamp=
    $partydate;
        "


  • #2
    hochkommata?

    Kommentar


    • #3
      Bei partydate, ja hab ich schon gesehen, klappt aber trotzdem nicht.

      You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'format_stamp='2006-10-20'' at line 3

      PHP-Code:
      $sql="
          SELECT DATE_FORMAT(stamp, '%Y-%m-%d')AS format_stamp 
          FROM veranstaltungen 
          WHERE format_stamp='
      $partydate';
          "

      Zuletzt geändert von analyzer; 23.10.2006, 18:05.

      Kommentar


      • #4
        nimm DATE_FORMAT aus WHERE raus.

        Kommentar


        • #5
          Unknown column 'format_stamp' in 'where clause'

          Ich dachte der definiert format_stamp innerhalb der sql abfrage, wieso kann er sie dann nicht lesen

          Kommentar


          • #6
            testausgaben? where mal ganz rausnehmen?

            Kommentar


            • #7
              ja auch schon gemacht, er wirft dann 2006-11-17 aus, also den letzten datensatz in richtigen format

              Also ich hole die daten mit get aus der url,

              $day = $_GET['day'];
              $month = $_GET['month'];
              $year = $_GET['year'];

              setze sie dann zusammen.
              $partydate = $year."-".$month."-".$day ;

              $partydate wird dann korrekt wie oben beschrieben ausgegeben.

              wenn ich die variable in die sql abfrage stecke müsste es doch gehen oder nicht?
              ich verzweifel

              Unknown column 'format_stamp' in 'where clause' macht mir zu schaffen
              Zuletzt geändert von analyzer; 23.10.2006, 18:29.

              Kommentar


              • #8
                Kann mir denn niemand helfen?

                Kommentar


                • #9
                  http://dev.mysql.com/doc/refman/4.1/...ith-alias.html
                  I don't believe in rebirth. Actually, I never did in my whole lives.

                  Kommentar


                  • #10
                    Hi,
                    zeig doch bitte mal deine SQL-Struktur. Einfach mal den Dump formatiert hier posten. Dann schauen wir mal wo das Problem liegt.
                    Höre nie auf zu versuchen. Versuche nicht aufzuhören.

                    Kommentar


                    • #11
                      Ok also laut dem link kann ich es nicht vorformatiert in der WHERE abfrage verwenden. Wie dann? kann ich das datetime feld irgendwie im WHERE splitten?


                      Code:
                      -- Tabellenstruktur für Tabelle `veranstaltungen`
                      -- 
                      
                      CREATE TABLE `veranstaltungen` (
                        `id` int(11) NOT NULL auto_increment,
                        `username` varchar(255) default NULL,
                        `stamp` datetime default NULL,
                        `subject` varchar(255) default NULL,
                        `description` blob,
                        PRIMARY KEY  (`id`)
                      ) TYPE=MyISAM AUTO_INCREMENT=18 ;
                      
                      Daten schnippsel für tabelle:
                      
                      INSERT INTO `veranstaltungen` 
                      VALUES (1, 'xxxxx', '2006-10-20 21:00:00', '1 Jahr ox-palais', 0x446173204d6567612d4765627572747374616773);
                      Zuletzt geändert von analyzer; 24.10.2006, 10:28.

                      Kommentar


                      • #12
                        Und wenn du
                        PHP-Code:
                        $sql "SELECT * FROM veranstaltungen WHERE stamp >= $partydate
                        machst ?
                        Das Datum könntest du immer noch mittels PHP so formatieren wie du es gerne haben willst (strtotime() und date()) könnten dabei helfen.

                        Gruss

                        tobi
                        Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

                        [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
                        Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

                        Kommentar


                        • #13
                          Wenn ich >= mache bekomm ich doch auch die daten die später sind als das was ich will oder nicht?

                          Kannst du mir das mit srtotime mal an einem beispiel zeigen?

                          Kommentar


                          • #14
                            Original geschrieben von analyzer
                            Ok also laut dem link kann ich es nicht vorformatiert in der WHERE abfrage verwenden.
                            Nein, da steht nur, dass du einen Alias-Namen nicht in der WHERE-Klausel verwenden kannst.

                            Da steht nichts davon, dass du dort keine Funktionen verwenden kannst.
                            I don't believe in rebirth. Actually, I never did in my whole lives.

                            Kommentar


                            • #15
                              Der Alias name wäre doch das nach dem AS oder nicht?

                              Kommentar

                              Lädt...
                              X