Order By Time

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

  • Order By Time

    Ich versuche die Gästebuch einträge nach Timestamp zu sortieren. Die GB Einträge werden aber trotz dem Timestamp unsortiert ausgegeben.
    Die Einträge von heute sind sortiert, aber der Eintrag von gestern hat den ersten Platz in der Ausgabe ?????
    PHP-Code:
    "SELECT * FROM GUESTBOOK ORDER BY TIME DESC LIMIT " 
    Die DB Spalte wo Timestamp drin steht heißt TIME.

    Weiß jemand, wieso die Sortiereung nicht funktioniert????
    Zuletzt geändert von archie; 06.10.2002, 12:26.

  • #2
    Vielleicht weil hinter LIMIT kein Wert mehr angegeben ist? Ich weiß zwar das ORDER BY und LIMIT nicht direkt was miteinander zu tun haben, aber man weiß ja nie.

    Kommentar


    • #3
      LIMIT hat damit nichts zu tun das ist nur die Zahl die Ausgabe begrenzt:

      $showpersite ="20"
      $limit = "$showpersite";
      $result = mysql_query("SELECT * FROM GUESTBOOK ORDER BY TIME DESC LIMIT ".($page-1)*$limit.", ".$limit);

      Kommentar


      • #4
        welche spaltentyp ist time ? speicherstdu es als unixtimestamp ab ? poste mal, wie er dir die sortierung ausgibt.
        meine Projekte bestaunen: http://www.kleiza.de

        Kommentar


        • #5
          Ich würde erstmal darüber nachdenken das TIME ein Keyword der Datenbank für den Datentype TIME ist ... und normalerweise sollte man sowas überhaupt nicht als Attributnamen verwenden!

          Und wenn man so einen Mist macht sollte man den Attributnamen zumindest in Backticks ` setzen ... !
          carpe noctem

          [color=blue]Bitte keine Fragen per EMail ... im Forum haben alle was davon ... und ich beantworte EMail-Fragen von Foren-Mitgliedern in der Regel eh nicht![/color]
          [color=red]Hinweis: Ich bin weder Mitglied noch Angestellter von ebiz-consult! Alles was ich hier von mir gebe tue ich in eigener Verantwortung![/color]

          Kommentar


          • #6
            Ich hab das ganze noch mal überarbeitet:

            Die angelegte Tabelle hat die Struktur:
            ------------------------------------------------
            PHP-Code:
            <?php
            include ("gbconfig.inc.php");
            $sql = @mysql_connect($dbserver,$dbuser,$dbpass);
            if (!
            $sql)
            {die(
            "Sorry, keine Verbindung zur Datenbank"); }
            mysql_select_db($dbname,$sql);
            $query "CREATE TABLE GUESTBOOK  
            (ZEIT TIMESTAMP NOT NULL PRIMARY KEY,
            NAME VARCHAR (70),
            DATUM VARCHAR (20),
            NACHRICHT TEXT,
            HOMEPAGE VARCHAR (70),
            ICQ VARCHAR (15),
            EMAIL VARCHAR (55))"
            ;
            $result mysql_query($query);
            if (!
            $result)
            { if(!
            $result mysql_query($sql)) die(mysql_error());
            echo 
            "Die Tabelle wurde erstellt";
            }
            mysql_close($sql);
            ?>
            Die Abfrage:
            -----------------------------------------
            PHP-Code:
                    <?
            include ("gbconfig.inc.php");
            mysql_connect ($dbserver,$dbuser,$dbpass);
            mysql_select_db ($dbname);
            $result = mysql_query("SELECT count(*) FROM GUESTBOOK;");
            $tmp    = mysql_fetch_array($result);
            $total  = $tmp[0];
            unset($tmp);
            mysql_free_result($result);
            if(!$page) $page = 1;
            $limit = "$showpersite"; 
            $result = mysql_query("SELECT * FROM GUESTBOOK ORDER BY ZEIT DESC LIMIT ".($page-1)*$limit.", ".$limit);
            $seiten = ceil($total/$limit);
            echo " ...........
            .........................................
            Nun werden Die Einträge von dem gleichen Tag sortiert ausgegeben, aber die BEiträge von heute erscheinen unter den Beiträgn von gestern
            Was mache ich da flasch?????
            Kann mir jemand helfen? Ich bin nur ein Hobby PHPler der net so viel Ahnung hat

            Kommentar


            • #7
              kann zwar den fehler direkt nicht finden, aber da gibs ein paar schönheitsfehler:
              PHP-Code:

                <?
              include ("gbconfig.inc.php");
              $sql=mysql_connect ($dbserver,$dbuser,$dbpass); //$sql= fehlt
              mysql_select_db ($dbname,$sql); //wieder sql fehlt
              $result = mysql_query("SELECT count(*) FROM GUESTBOOK",$sql); //wieder
              list($total)    = mysql_fetch_array($result,MYSQL_NUM); // ist bestimmt schneller :P
              mysql_free_result($result);
              if(!$page) $page = 1;  // ka worauf das sich bezieht.
              $limit = $showpersite; // besser keine hochkommate.. und wozu das überhaupt ?
              $result = mysql_query("SELECT * FROM GUESTBOOK ORDER BY ZEIT DESC LIMIT ".(($page-1)*$limit).", ".(($page-1)*$limit+$limit),$sql); //wieder $sql ausserdem war limit nicht ganz korrekt berechnet.
              $seiten = ceil($total/$limit);
              echo " ...........
              .........................................
              vielleicht hilfst dir weiter
              ich speichert die zeit lieber in einer spalte als type integer mit den unixtimestamp, lasst sich prima soriteren, keine probs
              lass dir zusicherheit nochmal die query dir ausgeben, und checken, vielleicht stimm was daran nicht..
              Zuletzt geändert von Campus; 07.10.2002, 18:51.
              meine Projekte bestaunen: http://www.kleiza.de

              Kommentar


              • #8
                Warum lässt du nicht bei jedem Beitrag ne id eintragen und machst order by id?? das wäre im prinzip das selbe!

                Kommentar


                • #9
                  jo weil die Kollegen aus dem Forum mir TIMESTAMP empfohlen haben

                  Kommentar


                  • #10
                    archie, ich kanns nur nochmal sagen, poste doch einfach mal ein auszug aus der tabelle wo der fehler liegt, dann ist dir auch schnell geholfen.
                    meine Projekte bestaunen: http://www.kleiza.de

                    Kommentar


                    • #11
                      Hallo, aufwachen ... das Tabellenlayout wurde bereite gepostet!
                      carpe noctem

                      [color=blue]Bitte keine Fragen per EMail ... im Forum haben alle was davon ... und ich beantworte EMail-Fragen von Foren-Mitgliedern in der Regel eh nicht![/color]
                      [color=red]Hinweis: Ich bin weder Mitglied noch Angestellter von ebiz-consult! Alles was ich hier von mir gebe tue ich in eigener Verantwortung![/color]

                      Kommentar


                      • #12
                        Original geschrieben von goth
                        Hallo, aufwachen ... das Tabellenlayout wurde bereite gepostet!
                        lies mal bitte nochmal was ich geschrieben hab.. ich will ein auszug aus der tabelle, kuck kuck... nicht das tabellen layout
                        meine Projekte bestaunen: http://www.kleiza.de

                        Kommentar


                        • #13
                          Dann drück dich genauer aus.

                          Im übrigen hat "student" den Fehler auch ohne Datenauszug recht gut erkannt ... oder?
                          carpe noctem

                          [color=blue]Bitte keine Fragen per EMail ... im Forum haben alle was davon ... und ich beantworte EMail-Fragen von Foren-Mitgliedern in der Regel eh nicht![/color]
                          [color=red]Hinweis: Ich bin weder Mitglied noch Angestellter von ebiz-consult! Alles was ich hier von mir gebe tue ich in eigener Verantwortung![/color]

                          Kommentar


                          • #14
                            trotzdem musste dann nicht falsche behauptungen aufstellen, hättest einfach fragen können was ich mit "auszug aus der tabelle wo der fehler liegt" meint, was allerdings verständlich für mich ist, ausserdem halte mich nicht für so blöd, weil ich vorher direkt auf den post wo er das layout gepostet geantwortet hab, und das irgendwie übersehen hab..

                            naja, ob stundent den fehler gefunden hat lass ich mal so in den raum schweben, eigentlich reicht TIMESTAMP vollkommen aus, ausserdem weiss er garnicht vorauf sich "datum" bezieht, wenn nämlich timestamp immer schön mit NOW() gefüllt wird, gibs keine probs. hab eben grad ausprobiert.
                            Zuletzt geändert von Campus; 08.10.2002, 16:14.
                            meine Projekte bestaunen: http://www.kleiza.de

                            Kommentar


                            • #15
                              Das Feld DTUM spielt bei meinem Gästebuch keine Rolle, außer das es ausgegeben wird wann der Eintrag geschrieben wurde.

                              Ich hab keine Probleme mit DATUM sondern mit TIMESTAMP im Feld: ZEIT

                              PS: nicht streiten in meinem Post :P ich bin für jede Hilfe sehr dankbar.

                              Kommentar

                              Lädt...
                              X