Maximal-Wert

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

  • Maximal-Wert

    $result3 = mysql_query("SELECT Nr, date AS 'datlist' FROM niv_dritt_hist WHERE Nr=$krit");
    while ($datselect=mysql_fetch_array($result3)) {
    echo '<option value='.$datselect['datlist'].'>'.$datselect['datlist'].'';
    }
    echo '</select></td>';

    Frage: Weiß jemand, wie ich aus dem Array $datselect['datlist'] den Maximalwert rausbekomme ???

    '.max($datselect['datlist']).' klappt z. B. nicht !

  • #2
    Du kannst by datlist ordern oder Du prüfst in Deiner while schleife
    Beantworte nie Threads mit mehr als 15 followups...
    Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

    Kommentar


    • #3
      Sorry, habe gerade festgestellt, daß "date" bei mir ein Feld vom Typ date ist (z. B. 2003-01-28). Demzufolge kann max() natürlich nicht funktionieren. Man müsste also das Datum "2003-01-28" erst in "20030128" umwandeln.
      Wie mach' ich das mit Hilfe einer PHP-Funktion ???

      Also ein Array in Form von $test(2003-01-28, 2002-10-13, ...) umwandeln in die Form $test(20030128, 20021013, ...)

      Kommentar


      • #4
        wieso?
        du kannst doch

        ORDER BY datefeld DESC LIMIT 1

        machen. und schon hast du das höchste (das aktuellste) datum.
        INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


        Kommentar


        • #5
          Jaaaaaaa, das ist auch 'ne Möglichkeit ! Vorerst hilft mir das mal weiter. Mal sehen, ob 's auch für den weiteren Projektverlauf taugt.

          Vorab trotzdem schon mal Merci !

          Kommentar


          • #6
            tipp: lasse soviel wie es geht durch die DB machen ...
            INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


            Kommentar


            • #7
              Original geschrieben von Honny
              Sorry, habe gerade festgestellt, daß "date" bei mir ein Feld vom Typ date ist (z. B. 2003-01-28). Demzufolge kann max() natürlich nicht funktionieren.
              Häh??? klar kannste da maximieren...
              Beantworte nie Threads mit mehr als 15 followups...
              Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

              Kommentar


              • #8
                schon mal was von einem timestamp gehört??? ist doch wesentlich einfacher
                Wusstet ihr schon?
                Wer später bremst ist länger schnell!

                Die wahrscheinlich beste Funktion in PHP ist mysql_error(), doch leider auch die unbekannteste!

                Kommentar


                • #9
                  @MelloPie: max() geht nur bei Zahlen und "2003-01-29" ist keine Zahl. Sonst würde ja z. B. max(456k23, 789b89, ...) auch funktionieren. Wenn 's dennoch gehen sollte, kannst du ja die Lösung posten.

                  @shortie19: Sehr schlau ! Nur wird meine Tabelle täglich über eine csv-Datei gefüllt und in der liegen nun mal keine timestamp-Werte vor. Jetzt wirst du natürlich sagen: "Man könnte ja die date-Werte beim Füllen umschreiben in 'n timestamp !"
                  Aber man muß ja nicht alles verkomplizieren ("tipp: lasse soviel wie es geht durch die DB machen ..." - Abraxax).
                  Außerdem brauch' ich das date-Feld später noch mal.

                  Trotzdem nichts für Ungut !

                  Kommentar


                  • #10
                    also ich persönlich würde, wenn ich es wirklich so speichern müsste machen wie Abraxax .

                    Übrigens eine datenbank kann sehr wohl einen timestamp zu einem beliebigen datum erstellen! (SO viel zu lasse alles die datenbank machen!)
                    Wusstet ihr schon?
                    Wer später bremst ist länger schnell!

                    Die wahrscheinlich beste Funktion in PHP ist mysql_error(), doch leider auch die unbekannteste!

                    Kommentar


                    • #11
                      Original geschrieben von Honny
                      @MelloPie: max() geht nur bei Zahlen und "2003-01-29" ist keine Zahl. Sonst würde ja z. B. max(456k23, 789b89, ...) auch funktionieren. Wenn 's dennoch gehen sollte, kannst du ja die Lösung posten.
                      Ja die LÖSUNG ist MAX(date) denn:
                      Note also that some functions like MIN() and MAX() will convert a TIMESTAMP/DATE to a number.
                      Beantworte nie Threads mit mehr als 15 followups...
                      Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

                      Kommentar


                      • #12
                        Sorry MelloPie, da hab' ich ja dann mal wieder was dazugelernt !
                        Du bist ja schließlich nicht umsonst Senior !

                        Thanx

                        Kommentar

                        Lädt...
                        X