Ankündigung

Einklappen
Keine Ankündigung bisher.

datetime

Einklappen

Neue Werbung 2019

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

  • datetime

    Hallo.

    Könnt Ihr mir vielleicht helfen?

    Und zwar bastel ich immer noch an meiner Auktionsplattform, habe mir alle Eure Anregungen zu Herzen genommen, komme aber im Moment nicht weiter.

    Ich möchte abfragen ob der User sein Höchstgebot vor allen anderen gemacht hat. Wie mache ich das?

    Hilfe!

  • #2
    mit einer passenden Abfrage. Auf solch generischen Fragen kann man kaum gezielter als so antworten.
    PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services

    Kommentar


    • #3
      Wenn ich wüsste wie, würde ich nicht fragen.

      Kommentar


      • #4
        Vielen Dank für die Hilfe.

        Kommentar


        • #5
          Zitat von king-ich Beitrag anzeigen
          Scherzkeks
          So hilft man dir sicher gerne. Bitte auf die Netiquette achten!

          EDIT:
          Vielen Dank für die Hilfe.
          Na geht doch

          ob der User sein Höchstgebot vor allen anderen gemacht hat.
          Grundsätzlich mal kannst du wenn der Datentyp stimmt danach Sortieren. Dann ist der aktuellste Datensatz einer Auktion mit LIMIT 1 (MySQL) und DESC der akutelleste. Dann gibts noch Filter (WHERE) auf den User und so weiter. Wie oben schon erwähnt je mehr Infos desto konkretere Antworten.
          The string "()()" is not palindrom but the String "())(" is.

          Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
          PHP.de Wissenssammlung | Kein Support per PN

          Kommentar


          • #6
            Da muss die Abfrage mit rein...

            Code:
            $sql = "SELECT gebote.angebot_id, gebote.kunde, gebote.preiseingabe,
              MAX(preiseingabe), angebote.titel, angebote.Auktionsnummer, angebote.dauer
            FROM
              gebote
              LEFT JOIN angebote ON 
                gebote.angebot_id = angebote.Auktionsnummer WHERE timediff(now(), angebote.dauer) > 0 AND now() BETWEEN datum AND timediff(now(), angebote.datum) < 91 AND gebote.kunde = '{$user}' GROUP BY dauer, titel, kunde, preiseingabe, Auktionsnummer, angebot_id ORDER BY dauer DESC";

            Kommentar


            • #7
              @hausl :

              Wenn das Sozialgericht für mich Entscheidet ( Ich gegen die Agentur für Arbeit wegen Bildungsgutschein) werde ich wohl eine Ausbildung zum PHP Datenbankentwickler machen. Dann kann ich auch helfen...

              Kommentar


              • #8
                Grundsätzlich mal kannst du wenn der Datentyp stimmt danach Sortieren. Dann ist der aktuellste Datensatz einer Auktion mit LIMIT 1 (MySQL) und DESC der akutelleste. Dann gibts noch Filter (WHERE) auf den User und so weiter. Wie oben schon erwähnt je mehr Infos desto konkretere Antworten.
                Also zwei Abfragen?

                Erst sortieren und dann in den Left Join einbauen?

                Kommentar


                • #9
                  Zitat von king-ich Beitrag anzeigen
                  Wenn das Sozialgericht für mich Entscheidet ( Ich gegen die Agentur für Arbeit wegen Bildungsgutschein) werde ich wohl eine Ausbildung zum PHP Datenbankentwickler machen. Dann kann ich auch helfen...
                  "PHP Datetenbankentwickler" ist ungefähr so wie ein "Taxiautomechaniker". Datenbankentwicklung hat nichts mit PHP zu tun sondern sind zwei getrennte Themen.

                  Kommentar


                  • #10
                    Und wie löse ich jetzt mein Problem?

                    Kommentar


                    • #11
                      @hellbringer

                      In einem letzten Thema hattest Du ja gesagt:

                      Ein Webmaster ist eine eierlegende Wollmilchsau.
                      Deswegen hab ich nach einer Spezielleren Ausbildung, in diesem Fall PHP Datenbankentwickler, geguckt.

                      Kommentar


                      • #12
                        Zitat von king-ich Beitrag anzeigen
                        @hausl :

                        Wenn das Sozialgericht für mich Entscheidet ( Ich gegen die Agentur für Arbeit wegen Bildungsgutschein) werde ich wohl eine Ausbildung zum PHP Datenbankentwickler machen. Dann kann ich auch helfen...
                        Bei dem, was Du hier zeigst, würde ich Dir davon eher abraten. Es gibt schon genug schlechte Software.
                        PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services

                        Kommentar


                        • #13
                          Zitat von king-ich Beitrag anzeigen
                          Da muss die Abfrage mit rein...

                          Code:
                          $sql = "SELECT gebote.angebot_id, gebote.kunde, gebote.preiseingabe,
                          MAX(preiseingabe), angebote.titel, angebote.Auktionsnummer, angebote.dauer
                          FROM
                          gebote
                          LEFT JOIN angebote ON
                          gebote.angebot_id = angebote.Auktionsnummer WHERE timediff(now(), angebote.dauer) > 0 AND now() BETWEEN datum AND timediff(now(), angebote.datum) < 91 AND gebote.kunde = '{$user}' GROUP BY dauer, titel, kunde, preiseingabe, Auktionsnummer, angebot_id ORDER BY dauer DESC";
                          Auch für Dich noch einmal: wenn im Select-Teil eine Aggregatsfunktion ist, müssen alle Spalten entweder aggregiert oder gruppiert werden. "Richtige" Datenbanken wissen das und quittieren sowas wie von Dir gezeigt mit einem Fehler. MySQL liefert ein zufälliges und falsches Resultat.

                          Edit: sorry, hatte das übersehen, nicht weit genug gescrollt. Mea culpa.
                          PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services

                          Kommentar


                          • #14
                            Und wie prüfe ich nun?

                            MAX(datetime) geht ja irgendwie nicht.

                            Ich bitte dringend um Hilfe...

                            Kommentar


                            • #15
                              was willst du prüfen?
                              PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services

                              Kommentar

                              Lädt...
                              X