php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2009

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 24.05.2009, 15:17  
Benutzer
 
Registriert seit: 22.05.2009
Beiträge: 75
Schadstoff befindet sich auf einem aufstrebenden Ast
Standard [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
Schadstoff ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 24.05.2009, 15:36  
Erfahrener Benutzer
 
Benutzerbild von leonv
 
Registriert seit: 12.01.2009
Beiträge: 344
PHP-Kenntnisse:
Fortgeschritten
leonv befindet sich auf einem aufstrebenden Ast
Standard

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.
__________________
Kreativität und Schöpfung durch Chaos und Ordnung.
leonv ist offline  
Alt 24.05.2009, 15:48  
da schreibt der ElePHPant
 
Benutzerbild von Flor1an
 
Registriert seit: 18.06.2008
Beiträge: 8.903
PHP-Kenntnisse:
Fortgeschritten
Flor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer Anblick
Standard

Die IDs sind doch völlig wurscht. Lass doch einfach nur einen Wert.
Flor1an ist offline  
Alt 24.05.2009, 17:41  
Benutzer
 
Registriert seit: 22.05.2009
Beiträge: 75
Schadstoff befindet sich auf einem aufstrebenden Ast
Standard

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..
Schadstoff ist offline  
Alt 24.05.2009, 18:07  
erc
Erfahrener Benutzer
 
Registriert seit: 02.01.2009
Beiträge: 730
PHP-Kenntnisse:
Fortgeschritten
erc wird schon bald berühmt werden
Standard

Zitat:
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"?
erc ist offline  
Alt 24.05.2009, 18:30  
Benutzer
 
Registriert seit: 22.05.2009
Beiträge: 75
Schadstoff befindet sich auf einem aufstrebenden Ast
Standard

entry_id ist die USERID des Eintrages.. owner_id die USERID des besitzers des gästebuchs
Schadstoff ist offline  
Alt 24.05.2009, 18:41  
Erfahrener Benutzer
 
Benutzerbild von leonv
 
Registriert seit: 12.01.2009
Beiträge: 344
PHP-Kenntnisse:
Fortgeschritten
leonv befindet sich auf einem aufstrebenden Ast
Standard

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
__________________
Kreativität und Schöpfung durch Chaos und Ordnung.
leonv ist offline  
Alt 24.05.2009, 20:05  
Benutzer
 
Registriert seit: 22.05.2009
Beiträge: 75
Schadstoff befindet sich auf einem aufstrebenden Ast
Standard

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..
Schadstoff ist offline  
Alt 24.05.2009, 20:10  
Erfahrener Benutzer
 
Benutzerbild von leonv
 
Registriert seit: 12.01.2009
Beiträge: 344
PHP-Kenntnisse:
Fortgeschritten
leonv befindet sich auf einem aufstrebenden Ast
Standard

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
      
   
}

__________________
Kreativität und Schöpfung durch Chaos und Ordnung.

Geändert von leonv (24.05.2009 um 20:16 Uhr).
leonv ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[Erledigt] DELETE und UPDATE gleichzeitig durchführen dj-digger Datenbanken 9 12.02.2009 07:56
[Erledigt] nächsten Auto Increment ermitteln jabs Datenbanken 7 10.02.2009 10:20
Abfage mit * im Wort "aut*" = auto, autos, autoha atoniusg Datenbanken 2 20.03.2008 18:58
Auto Increment spacedone PHP Tipps 2008 1 12.09.2007 09:47
auto increment synchronisieren /tmp Datenbanken 7 08.02.2006 23:09
[Erledigt] id mit auto increment -nummerierung neu starten Datenbanken 6 23.10.2005 22:32
Das [alte] Auto ist rot .... Das _____ Auto ist rot. janni PHP Tipps 2005 8 17.05.2005 08:37
auto increment zurücksetzen rocco Datenbanken 6 05.05.2005 19:20
AUTO INCREMENT mit Zeichen und Zahlen Datenbanken 1 25.02.2005 13:02
AUTO INCREMENT mit Zeichen und Zahlen PHP Tipps 2005 5 24.02.2005 16:07
Wie weit geht AUTO INCREMENT? socke Datenbanken 5 05.01.2005 15:14
auto increment PHP Tipps 2004 10 08.11.2004 14:46
[Erledigt] Auto Increment über 2 Spalten Datenbanken 2 21.09.2004 19:52
[Erledigt] auto increment Wert Datenbanken 17 27.08.2004 12:32
Kleines problem mit ID auto Increment oder so :( PHP Tipps 2004 3 09.06.2004 19:29

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
auto_increment gästebuch zurücksetzen, auto increment handling, auto increment reset, php auto increment wert, autoincrement zuweisen, auto_increment setzen, php auto_increment nutzen, auto_increment einer tabelle zuweisen

Alle Zeitangaben in WEZ +2. Es ist jetzt 16:09 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum