Wenn dies Ihr erster Besuch hier ist, lesen Sie bitte zuerst die Hilfe - Häufig gestellte Fragen durch. Sie müssen sich vermutlich nicht registrieren, um Beiträge verfassen zu können. Als angemeldetes Mitglied haben Sie jedoch die Möglichkeit anderen Benutzern eine Private Nachricht zu hinterlassen, oder aber die vielen Funktionen des Forums zu nutzen, die nur registrierten Benutzern vorbehalten ist. Klicken Sie oben auf Registration, um den Registrierungsprozess zu starten. Sie können auch jetzt schon Beiträge lesen. Suchen Sie einfach das Forum aus, das Sie am meisten interessiert.
d.h. jeder user kann sich ein o. mehrere Spiele merken lassen was dann auch
seperat angezeigt werden... soweit alles schön und gut.
allerdings kann ein und der selbe User sich das Spiel auch 10x in die Merkliste eintragen lassen.
ich hab im Netz schon geschaut und das kann man mit Unique im Mysql unterbinden.
dies hab ich auch gemacht mit merkliste_spielid und merkliste_username leider kann man nur
eines davon auswählen.
soweit hat das auch funktioniert, ich konnte das Game nur noch einmal in die DB eintragen...
hatte mich schon gefreut , dass es funktioniert hat....aaaaber nun konnten die anderen user das Games nicht mehr einfügen ^^
ihr versteht das Problem !?
wie kann ich Mysql sagen, dass es merkliste_spielid & merkliste_username prüfen soll?
zb. Spielid=12 , Userid=3 hat das Spiel schon eingetragen kann also das gleiche nicht noch mal einfügen.
17.03.2010 - 12:13 AW: Tabelle auslesen und Unique verwenden
Hallo,
man lässt ein Kind nicht auf die heiße Herdplatte fassen, nur damit es weiß, das es sich verbrennt. Übertragen auf Dein Problem: Man lässt eine Abfrage nicht einfach in einen Fehler laufen und versucht dann zu reagieren. Frage also lieber vorher einmal ab, ob es schon was gibt und führe dann ggf. Dein INSERT durch.
17.03.2010 - 12:32 AW: Tabelle auslesen und Unique verwenden
Hallo ihr beiden ;)
Ich würde wie Michael vorgeschlagen hat erst überprüfen ob es einen solchen Eintrag schon gibt, wenn nicht soll er es eintragen. Die Programmlogik sollte dein Script beherbergen (Das muss man natürlich nicht machen, gewisse Logik kann man auch in der Datenbank unterbringen aber das geht hier zuweit ;) ).
Nichts desto trotz würde ich zusätzlich der Tabelle einen UNIQUE Schlüssel hinzufügen, schließlich darf es solche Konstelationen in deiner Seite nicht geben (egal wie auch immer sie da rein kommen könnten)
Dein Fehler ist, du hast wahrscheinlich 2 Unique Keys erstellt. Die gelten unabhängig voneinander, also es dürfen nicht 2 Einträge die selbe merkliste_spielid UND es dürfen nicht 2 Einträge den selbe merkliste_username haben.
Du musst einen UNIQUE Schlüssel erstellen über beide Felder. In phpMyAdmin siehst du in der Tabellenstruktur Seite unten Indizes. Dort kannst du "Index über 2 Spalten anlegen" und als Indextyp UNIQUE und beide Spalten auswählen.
Es ist Ihnen erlaubt, neue Beiträge zu schreiben.
Es ist Ihnen erlaubt, auf Beiträge zu antworten.
Es ist Ihnen erlaubt, Anhänge anzufügen.
Es ist Ihnen erlaubt, Ihre Beiträge zu bearbeiten.