Einträge anzeigen, die vor und nach einem Gesuchten stehen

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

  • Einträge anzeigen, die vor und nach einem Gesuchten stehen

    Hi

    Ich habe eine Liste mit Namen, von denen ich immer nur 10 gleichzeitig anzeigen lassen will.

    Allerdings kann man auch nach Namen suchen und ich wollte mal fragen ob man gleich bei der Mysql-Abfrage der Suchfunktion auch die Einträge, die vor und nach dem gesuchten Namen stehen, mit ausgeben lassen kann?

    Also z.B. bei alphabetischer Ordnung und der Suche nach dem Namen C. Chong vorher z.B. die Namen A. Anders und danach z.b. D. Dumm mit ausgeben.

    Ich hoffe ihr versteht mein Problem, also ich könnte das theorertisch mit PHP hinbekommen, wäre allerdings aufgrund der Größe der Tabelle sehr umständlich.
    Deshlab also die Frage ob man das gleich bei der MYSQl-Abfrage irgendwie erledigen kann.

    Wäre für jede Hilfe sehr dankbar!

    MfG

  • #2
    Ich wüsste nicht wie. Normalerweise macht sowas auch keinen Sinn, da die Resultate aus den verschiedensten Positionen der Tabelle kommen können.
    Gruss
    H2O

    Kommentar


    • #3
      Ob's mit MySql möglich ist aber mach es einfach mit PHP. Ist auch nicht so viel unperformanter...
      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


      • #4
        Code:
        ALTER TABLE tabelle ADD COLUMN pos int NOT NULL;
        SET @row := -1;
        UPDATE tabelle SET pos = @row := @row + 1 ORDER BY username ASC;
        
        SELECT *, a.pos - 1 AS previous, a.pos + 1 AS next
         FROM tabelle a WHERE username = "D. Dumm";
        z.B.
        Muss man halt nur die pos-Spalte up-to-date halten. Ggf. kann man previous und next noch mit Subqueries oder JOINs auf Existenz prüfen, oder auch gleich weitere Daten auslesen, oder oder oder

        Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

        bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
        Wie man Fragen richtig stellt

        Kommentar


        • #5
          ok, danke für die Hilfe!

          Und ihr seid der Meinung, das es von der Perfomance keine großartigen Unterschiede gibt, zwischen den Methoden mit PHP oder MySQL?

          Kommentar


          • #6
            Ich bin anderer Meinung. Bei hinreichend großer Datenmenge ist PHP deutlich langsamer.

            Kommentar


            • #7
              Original geschrieben von onemorenerd
              Ich bin anderer Meinung. Bei hinreichend großer Datenmenge ist PHP deutlich langsamer.
              Auch bei kleinen Datenmengen ist PHP deutlich langsamer.

              Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

              bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
              Wie man Fragen richtig stellt

              Kommentar


              • #8
                Klein kann eben auch hinreichend groß sein.

                Kommentar


                • #9
                  Original geschrieben von onemorenerd
                  Klein kann eben auch hinreichend groß sein.
                  Und "deutlich langsamer" hängt eh von der subjektiven Sichtweise ab

                  Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

                  bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
                  Wie man Fragen richtig stellt

                  Kommentar

                  Lädt...
                  X