Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] Auto Increment zuweisen

Einklappen

Neue Werbung 2019

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

  • [Erledigt] Auto Increment zuweisen

    Hi, ich bin dabei ein Gästebuch zu programmieren. Ich möchte eine Tabelle aufstellen in der das komplette Gästebuch aller User steht. Soweit auch kein Problem. 1 Tabelle mit 4 Feldern: owner_id, entry_id, date, text

    Jetzt würde ich aber die Tabelle gerne um ein 5. Feld erweitern, und zwar um "LogID". Ich würde gerne einen auto_increment setzen, der halt einfach eine LogID mitschreibt. Allerdings habe ich jetzt das Problem das die Tabelle ja nicht nur für einen sondern für alle User ist. Kann ich einen Auto Increment Wert also eine ID zuweisen? Sprich Auto Increment nur für owner_id = x . Oder noch besser das er dass selbstständig für jede owner_id macht..

    lg schadi

  • #2
    In einer Tabelle gibt es nur ein Feld mit auto_increment.

    Du könntest entweder die aktuellen IDs für die Owner in einer extra Tabelle speichern oder die Beiträge Zählen, um die nächste ID herauszufinden, wobei der erste Weg performanter ist.

    Auf jeden Fall kommst du nicht daran vorbei, die nextID mit PHP zu berechnen.

    Kommentar


    • #3
      Die IDs sind doch völlig wurscht. Lass doch einfach nur einen Wert.

      Kommentar


      • #4
        ich möchte aber ein exaktes löschen der beiträge ermöglichen. und ich möchte nicht den text vergleichen, weil ganz reintheoretisch ja 2mal der gleiche post von verschiedenen usern vorhanden sein kann..

        Kommentar


        • #5
          Zitat von Schadstoff Beitrag anzeigen
          ich möchte aber ein exaktes löschen der beiträge ermöglichen. und ich möchte nicht den text vergleichen, weil ganz reintheoretisch ja 2mal der gleiche post von verschiedenen usern vorhanden sein kann..
          Ähm... hä? Woher kommt bitte die "entry_id"?

          Kommentar


          • #6
            entry_id ist die USERID des Eintrages.. owner_id die USERID des besitzers des gästebuchs

            Kommentar


            • #7
              Das ist wohl eher ein Verständnis Problem.

              Wenn jeder Eintrag eine individuelle ID hat, ist es egal, wem der Beitrag gehört, beim Auslesen sortierst du ganz einfach nach der Reihenfolge der Beitrags ID, da ist es unwichtig, ob dazwischen ein paar IDs fehlen.

              Beim Auslesen gibst du halt immer an für welchen Benutzer du die Beiträge haben möchtest:
              Code:
              SELECT * FROM Beitraege WHERE owner_id = '$userid' ORDER BY entry_id

              Kommentar


              • #8
                Also ich möchte ja erreichen, das im GB ein link erscheint welcher halt den jeweiligen Eintrag löscht. Aber allerdings hast Du recht, ich könnte ja einfach global Log Einträge verteilen, zum löschen ist das ja eigentlich egal..

                Danke..

                Kommentar


                • #9
                  Du musst beim löschen nur überprüfen, ob der eingeloggte Gästebuchbesitzer gleich dem zu löschenden Datensatz ist, damit man keine fremden Beiträge löschen kann.

                  Beispiel:
                  PHP-Code:
                  $ownerID "10"//Vom Login-Script oä.
                  if(isset[$_GET["delid"]]){ //löschen Link betätigt
                     
                  $sqlQuery mysql_query("
                        SELECT owner_id FROM Beitraege 
                        WHERE entry_id = '"
                  .$_GET["delid"]."'
                        LIMIT 1
                     "
                  );
                     
                  $sqlResult mysql_fetch_object($sqlQuery);
                     if(
                  $sqlResult->owner_id == $ownerID){ //ist der besitzer gleich dem benutzer?
                        //Datensatz löschen
                        
                  mysql_query("DELETE FROM...");
                     }else{ 
                  //fehler, nicht berechtigt
                        
                     
                  }

                  Kommentar

                  Lädt...
                  X