User löschen / Unlinked ?

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

  • User löschen / Unlinked ?

    hi,

    man kennt es ja aus diversen board system wird ein user entfernt bleiben die postings und der username erhalten z.b bertlXx88 , jedoch wird der link nicht mehr anklickbar angezeigt auch in schon vorhandenen postings.

    Wie wir so etwas realisiert - wie muss ich meine einträge speichern um auch alte datenbestände aus dem jahre schnee (2oo6,2oo7) egal wann sich der user löscht zu erhalten jedoch wie gesagt bertlXx88 nicht mehr anklickbar zu machen.

    Hoffe ihr wisst was ich meine greeZ time2sms

  • #2
    Du hast deine Beiträge ja eh so normalisiert in der Datenbank liegen, dass nur die ID des Users mitgespeichert wird. Und am User kannst du ein Status-Flag einfügen, zum Beispiel "aktiv" oder halt "gelöscht". Und diesen Wert selektierst du beim Join für die Beitragsansicht einfach mit. Im View wird der Benutzername nur verlinkt, wenn das Status-Flag auf "aktiv" steht.
    Fertig.

    Kommentar


    • #3
      sql like ?

      hi,

      derzeit läufts z.b im gb so ab

      id - userown - atuser - date - text

      Id ist selbstklärend userown ist der gästebuchbesitzer und atuser der den eintrag gemacht hat date ist auch selbst erklärend und text wohl auch.

      Nun wie bessere ich da meine struktur auf eventuell verbesserungs ansetze kann leider mit den von dir genannten leider noch nicht alt zu viel anfangen.

      Eventuell kleiner sql c0de zur hand oder php?

      Damit ich weiss wie ich das ganze umstellen muss und dann auch sinvoll ausgeben muss problematik nummer 2 performance sollte nicht verloren gehen auch bei high load (2.000) user aufwärts ..

      Danke

      Kommentar


      • #4
        Wo stehen die User? Hast du eine entsprechende Tabelle mit id und name? Sind userown und atuser die User-IDs?

        Kommentar


        • #5
          tabelle

          hi,

          japs genau also wir speichern alles mit der user ID oder namen ..

          Tabelle wo userdaten gespeichert sind nennt sich comusers.

          Kommentar


          • #6
            alles mit der user ID oder namen ..
            Ja, und zur Selektion des Usernamens zu einem Beitrag, bei dem nur die ID abgelegt wurde, verwendet ihr ja einen JOIN. Dort könnt ihr einfach noch den Status des Users mitselektieren, fertig.

            Kommentar


            • #7
              hmm

              hoi,

              einen join haben wir da noch niergends drinnen hab mir hier rund 250 themen durchgelesen hier setzen alle auf join andere lösungen eventuelles kurzes beispiel das ich testen kann???

              big thanks schonmal

              sorry nur häng echt total =((

              Kommentar


              • #8
                Na wenn Du keinen JOIN benutzt, speicherst Du vermutlich die Benutzernamen im Gästebuch und nicht die IDs. Das müsstest Du zuerst ändern.
                Bei der Abfrage, holst Du Dir dann zu der User-ID die benötigten Werte aus der Benutzertabelle.

                Code:
                SELECT g.date, g.text, u.login_name, u.status
                FROM guestbook g
                INNER JOIN comusers u ON g.atuser = u.id
                WHERE ...
                "status" ist dabei das neu anzulegende Feld, also ob der Benutzer noch aktiv oder gelöscht ist. Daruf müsstest Du dann bei der Ausgabe reagieren und ggf. den Benutzer nicht verlinken.

                Kommentar


                • #9
                  andere lösung ..

                  hi,

                  andere lösung ohne join - wür schreiben via php ui2user und user2id um sprich wir machen das via select und nicht via join ..

                  Andere lösung auser die join methode ?

                  Kommentar


                  • #10
                    Re: andere lösung ..

                    Original geschrieben von time2sms
                    Andere lösung auser die join methode ?
                    Was gefällt dir denn dadran nicht?

                    Eine normalisierte Datenbank wird ansich mit Joins verknüpft.
                    Warum willst du für jede ID nochmal eine extra Abfrage machen, wenn man alles auch in einer Abfrage drin haben kann.

                    ..und ansich war die Lösung auf deine Frage: Setz ein Flag an den User und frag den mit.

                    mfg

                    Kommentar


                    • #11
                      hmm

                      id - userid - userinid - text

                      1 - 3 - 55 - hey 3 ist der sender und 55 der empfänger

                      Wäre es nicht auch machbar jetzt die id vom löscher sagen wir der empfänger löscht sich die id in allen seinen posts und pms zu entfernen .. und dann bei der ausgabe zu chekken ist id vorhanden wenn nein - unlink also keinen link ausgeben.

                      Sorry nur join übersteigt mein derzeitiges level siehe mich als anfänger daher .. dennoch sehr dankbar.

                      Denn was bringt es einen status zu setzen wenn sich der user ausradiert??

                      Kommentar


                      • #12
                        So könnte man es auch machen. Aber dann müssen deine PHP-Scripte natürlich auch damit klarkommen, dass statt einer numerischen ID mal ein NULL-Wert auftaucht.

                        Man verliert so natürlich die Zuordnung zwischen Content und Author. Wenn der Staatsanwalt klingelt, muß man das als Betreiber der Website vertreten können.

                        Ich rate dir, dich lieber mit Joins anzufreunden. Das ist ein Hexenwerk. Lies mal eine Stunde und führe ein paar Testqueries aus, dann hast du es ganz schnell raus.

                        Kommentar

                        Lädt...
                        X