Reservierungs-Script

z0oL

Erfahrenes Mitglied
hallo,

ich bin dabei, ein "Reservierungs-Script" zu schreiben. Es gibt verschiedene Plätze, von denen man sich einen aussuchen kann, und reservieren kann.
Damit dieser Platz aber auch erhalten bleibt, und niemand durch nochmaliges reservieren den alten Datensatz überschreibt, oder das es 2 Reservierungen für nur einen Platz gibt, bin ich auf der Suche nach etwas, was dieses Problem beseitigt.

Für Hilfe und Anregung wäre ich sehr verbunden,

Danke
 
Hallo,

arbeitest du mit einer Mysql Datenbank ?

Wenn ja, wie wäre es mit einer if abfrage vor dem update
der Tabelle, damit kannst du prüfen ob der Platz noch frei ist oder nicht.

Grüße Guido
 
Ja, ich arbeite mit einer mysql-DB!

Aber wie soll ich das abfragen ?

if(??)

Weiss echt net wie ich das machen soll ! :)
 
Wie mache ich das denn am besten mit der DB-Struktur?
Es sind ca. 20 Tische, und ich kann doch net für jeden ne eigene Tabelle anlegen ??


Und irgendwie klappts mit der Überprüfung noch nicht so ganz:

PHP:
<?php

$db = mysql_connect();
mysql_select_db("ngc");
$sqlkommando = "INSERT INTO gnight (name, pc) VALUES ('$name', '$pc')";
$res = mysql_db_query("ngc", "select * from gnight");

while($zeile = mysql_fetch_array($res))
{

  if($zeile["pc"] == " ") {

    mysql_query($sqlkommando) or die("Error" . mysql_error());

    $num = mysql_affected_rows();
    if ($num>0) 
    echo "Der PC $pc wurde für $name für die kommende Gamersnight reserviert!<p>";
  }

  else {
    echo "Der PC $pc wurde schon von jemand anderem reserviert!";
  }

}

mysql_close($db);
  
?>

Kommt nur ne blanke Seite!
 
Zuletzt bearbeitet:
OK, dass mit dem Script passt jetzt!

Nur weiss ich nicht, wie ich das einfacher machen kann, da es 20 Tische gibt, und nicht nur einen. Eine Möglichkeit wäre, für jeden Tisch eine eigene Tabelle zue rstellen, aber das ist zu umständlich...
 
wenn deine Tabelle bisher wie folgt aussieht:
gnight (name, pc) dann würde ich dir einfach empfehlen eine Spalte ranzuhängen.
gnight (name, pc, tisch)

Wenn du nun die Werte speicherst einfach $tisch mit rein. Beim auswählen der Datenbank, z.b. bei einer Tischübersicht und wer klickt auf Tisch 19, das du alle bisherigen reservierungen für Tisch 19 einfach wie folgt raufrufst:
PHP:
$tisch = 19; //evtl. übergabe per Formular / Parameter
$sql = "SELECT * FROM gnight WHERE tisch = '$tisch'";
$ausgabe = mysql_query($sql);
$result = mysql_fetch_array($ausgabe);
 if($pc != $result[pc]) {
  //Daten speichern
  $sql = "INSERT INTO gnight (name,pc,tisch) VALUES ($name,$pc,$tisch)";
  mysql_query($sql);
  echo "Ihre Daten für Platz ".$pc." wurden gespeichert.";
} else {
 //Daten nicht speichern
 echo "Der Platz ".$pc." für Tisch ".$tisch." ist bereits belegt. Bitte wählen sie einen anderen aus.";
} //end if
So kommst du auch nicht mit den Plätzen anderer Tische in Berührung da du nur die Werte für Tisch 19 ausgelesen hast. Mach was draus...
 
Noch zu deinem Fehler da oben ... du hast einen Speichern Befehl in eine Schleife geschickt, das kann garnicht funktionieren. Sowas geht nur wenn du was aus der Tabelle ausliest(SELECT * FROM...) jedoch nicht speicherst.
 
Zurück