Rausfinden, an welcher Stelle ein Element in einer Liste steht

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

  • Rausfinden, an welcher Stelle ein Element in einer Liste steht

    Der Titel verrät hoffentlich schon etwas
    Also bei meinem eigenen Forum speichere ich in der Mitglieder Tabelle auch den Wert lastpost_id, da wird logischerweise die ID des letzten Posts gespeichert. Nun möchte ich im Profil des Mitglieds auch eine Link zu dem Topic machen, der Link sollte aber auch auf die richtige Topicseite springen. Die Berechnung is ja denkbar einfach:

    ceil($stelledesposts/$anzahlderpostsproseite);

    Allerdings wollte ich die Stelle, wo der Post im Topic steht auch im SQL SELECT Statement rausfinden. Geht das irgendwie? Ich habs bisher immer so gemacht:

    PHP-Code:
    $query mysql_query("SELECT id FROM bb_posts WHERE topicid=$topicid ORDER BY createtime ASC");
            while (
    $a mysql_fetch_assoc($query))
            {
                
    $counter++;
                if (
    $a["id"] == $lastpost_id)
                    break;
            } 
    Find ich ehrlich gesagt nich so schön

  • #2
    die id (lastpost) hast du doch schon. warum dann eine schleife machen?

    PHP-Code:
    $sql "SELECT id FROM bb_posts WHERE topicid=".$topicid." AND id=".$lastpost." LIMIT 1"
    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


    • #3
      Neee, ich hab das wohl nich ganz klar ausgedrückt

      Also: Ich möchte wissen, wo im Topic der Post steht, also der wievielte Post im Topic es ist.

      Kommentar


      • #4
        mag auch sein, dass ich dich falsch verstanden habe ....

        warum willst du das denn überhaupt machen. kost' doch nur performance.
        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
          Echt? Tja dann lass ichs lieber

          Kommentar


          • #6
            Original geschrieben von PHPDude
            Echt?
            na klar. du machst ja dann nur für den spass ein ZUSÄTZLICHES select und gehst das auch noch mit ner schleife durch, damit du die position findest. das ist das problem.
            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
              Hehe, mir klar, deshalb will ich das ja auch im ersten SELECT statement mithilfe eines SQL Befehls rausfinden, dann brauch ich keine 2. Statement und auch keine Schleife.
              Das ist eigentlich der Sinn dieses Topics.
              Ich dachte du meinst mit Performance, dass der SQL Befehl dafür mehr Performance kostet als die Schleife

              Kommentar


              • #8
                beiden zusammen kostet die performance. mit einer abfrage bekommst du das nicht hin. es sei denn du speicherst in einer weiteren spalte beim posten bereits eine fortlaufende nummer mit rein. das problem ist nur, wenn du einen post löschst. dann müssten die nachfolgenden posts noch je einen nach unten gezählt werden in der spalte.
                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


                • #9
                  Hm, na gut, dann gehts halt nich mir SQL, danke für die Hilfe

                  Kommentar


                  • #10
                    unmöglich ist es nihct. es macht nur keinen sinn....
                    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

                    Lädt...
                    X