Direkter Zugriff auf letztes Ergebnis

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

  • Direkter Zugriff auf letztes Ergebnis

    Hi!

    Ich habe zur Zeit folgende Select-Anweisung in meinem Script:
    PHP-Code:
    $sql 'SELECT `*` FROM `eMail` WHERE `TOPIC` = \''.$threadtopic.'\'';
    $ids=mysql_query($sql) or die(mysql_errno() . ": " mysql_error(). "\n");
    while (
    $row mysql_fetch_array($idsMYSQL_NUM)) {
        
    $rid=$row[1];

    Wie man sieht, überschreibe ich die Variable $rid bei jedem Durchlauf der While-Schleife um dort am Ende den Wert aus row[1] des letzten gefundenen Datensatzes zu haben.

    Gibt es einen einfacheren Weg, direkt den letzten gefundenen Datensatz in die Variable zu speichern?
    Durch das Select bekomme ich doch die Anzahl der gefundenen Treffer zurückgeliefert und mit dieser Info müsste es doch irgendwie möglich sein, oder?

    Gruß und Danke,
    Gerti

  • #2
    du könntest entweder mal nach mysql_data_seek im php-manual suchen

    oder, was wahrscheinlich besser ist, dir mal die SQL-begriffe ORDER BY und LIMIT anschauen
    Ich denke, also bin ich. - Einige sind trotzdem...

    Kommentar


    • #3
      Hi!

      Mit Limit wird es wohl schwierig, aber würde das hier stimmen?

      PHP-Code:
      $sql 'SELECT `*` FROM `eMail` WHERE `TOPIC` = \''.$threadtopic.'\'';
      $ids=mysql_query($sql) or die(mysql_errno() . ": " mysql_error(). "\n");
      $countids mysql_num_rows($ids) - 1;
      $row=mysql_data_seek ($result$i); 
      $rid=$row[1];

      Ich kann es leider nicht testen, das ist das Problem :-)

      Gruß,
      Gerti

      Kommentar


      • #4
        sieht richtig aus, aber was heißt denn für dich "letzter datensatz"?
        Ich denke, also bin ich. - Einige sind trotzdem...

        Kommentar


        • #5
          definiere mal bitte
          des letzten gefundenen Datensatzes
          OffTopic:
          versuch doch alternativ noch ein paar single quotes im query string unterzubringen *scnr
          Die Zeit hat ihre Kinder längst gefressen

          Kommentar


          • #6
            Hi!

            Die Anfrage müsste im Grunde z.B. drei Treffer zurückgeben, da der Begriff hinter $threadtopic z.B. in drei Ergebnissen vorkommt.
            Da ich immer die neuesten Eingaben hinten an die Datenbank anhänge, möchte ich, dass halt $row[1] vom zuletzt angelegten Datensatz der Variablen $rid zugewiesen wird.

            BTW: Ich habe passende Quotes im der Anweisung, das Board "unterschlägt" die aber leider...

            Gruß,
            Gerti

            Kommentar


            • #7
              Original geschrieben von Gerti
              vom zuletzt angelegten Datensatz
              und da hast du keine datumsspalte nach der du sortieren könntest?
              Ich denke, also bin ich. - Einige sind trotzdem...

              Kommentar


              • #8
                Hi!

                Nein, ich habe nichts, nachdem ich sortieren könnte...
                Dürfte aber im Grunde auch nicht nötig sein, wenn ich doch die Anzahl der Ergebnisse kenne...denn dann müsste ich doch geziehlt ein Ergebniss ansprechen können...

                Gruß,
                Gerti

                Kommentar


                • #9
                  ohne spalte zum danach sortieren kannst du niemals zuverlässig den 'letzten' datensatz erfragen, den ohne sortierung gibts keinen letzten datensatz ...
                  Die Zeit hat ihre Kinder längst gefressen

                  Kommentar


                  • #10
                    Hi!

                    Liefert eine Anfrage nicht immer die zutreffenden Datensätze in der Reihenfolge, in der diese angelegt wurden?

                    Gruß,
                    Gerti

                    Kommentar


                    • #11
                      Original geschrieben von Gerti
                      Liefert eine Anfrage nicht immer die zutreffenden Datensätze in der Reihenfolge, in der diese angelegt wurden?
                      nein, nicht unbedingt
                      Ich denke, also bin ich. - Einige sind trotzdem...

                      Kommentar


                      • #12
                        Hi!

                        Aha...
                        Ist mir bisher noch nie aufgefallen...
                        Wann liefert es diese denn nicht in der richtigen Reihenfolge?

                        Gruß,
                        Gerti

                        Kommentar


                        • #13
                          z. b. wenn du in phpmyadmin die tabelle neu sortierst oder wenn dir beim exportieren/importieren ein dummer zufall in die quere kommt oder oder oder


                          aber wenn du partout nicht sortieren willst, dann lass es halt bleiben
                          Ich denke, also bin ich. - Einige sind trotzdem...

                          Kommentar


                          • #14
                            Hi!

                            Nein, ist ja kein Problem, wollte es halt nur mal wissen...

                            Ich habe jetzt noch ein NUM als auto-increment mit eingebaut...

                            Wie kann ich also nun auf den letzen Datensatz zugreifen?

                            PHP-Code:
                            $sql 'SELECT `*` FROM `eMail` WHERE `TOPIC` = \''.$threadtopic.'\' ORDER BY `NUM` LIMIT 1'
                            Das Order müsste ja umgekehrt "ordern" - wie erreiche ich das :-)

                            DESC - bin selbst drauf gekommen :-)

                            Gruß,
                            Gerti

                            Kommentar


                            • #15
                              ORDER BY `NUM` DESC
                              Ich denke, also bin ich. - Einige sind trotzdem...

                              Kommentar

                              Lädt...
                              X