Tom: Datenbank Einträge mehrerer Clients gleichzeitig

Beitrag lesen

Hello,

$eintrag = "INSERT INTO bid (name,details,startpreis,endpreis,image,dauer) VALUES ('$name','$details','$startpreis','$endpreis','$image','$dauer')";
$eintragen = mysql_query($eintrag);

So jetzt habe ich das Problem, das wenn 5 Cients auf meiner Seite surfen und bis zum Countdown 0 kommen, alle einen Eintrag machen. Ich hätte aber gerne, das der Eintrag nur ein einziges Mal gemacht wird, egal wieviele Clients auf der Seite sind.
Habe auch schon von flock() oder locking tables gelesen, leider hab ich überhaupt keine idee wie ich das hin bekomme.

Das geht im Prinzip ganz einfach. Du musst nur ein eindeutiges Zertifikat haben und auf diese Spalte einen Contraint setzen, also einen Unique Index.

Aus Deinen Angaben

name,
  details,
  startpreis,
  endpreis,
  image,
  dauer

kann ich jetzt nicht erkennen, welche denn die Eigenschaft eines Schlüssels (Zertifikat) haben könnte. Du hast den Code einfach nicht gut genug dokumentiert.

Stell Dir eBay vor. Die haben eine Auktionsnummer.
Angenommen, da gäbe es eine Tabelle, in der die Auktionsnummer und die Nummer des Bieters inserted werden soll. Auf der Auktionsnummer liegt ein Unique Index. Wenn nun fünf Bieter derselben Auktion versuchen, ihren Datensatz dort eintragen zu lassen, bekommen vier einen MySQL Status beim Insert, der ihnen sagen könnte, dass sie leider Pech gehabt haben, wenn denn der Programmierer nach demmInsert den Status abgefragt hätte.

Verstanden?

Ein harzliches Glückauf

Tom vom Berg

http://bergpost.annerschbarrich.de

--
Nur selber lernen macht schlau