2012-12-20 98 views
0

我正在使用PHP製作餐廳預訂模塊。選擇多個變量列

問題是我想讓用戶選擇他們想要來的時間以及想要去的時間。

在這兩次之間該表需要被佔用,所以需要在那些時間之間的單元格中有一個名稱。

我不知道如何做到這一點。

這裏是我現有的代碼:

$day="0".$_POST['day']; 
$month="0".$_POST['month']; 
$year=$_POST['year']; 
$date=$year ."-". $month ."-". $day; 
$table=$_POST['table']; 
$name=$_POST['name']; 
$fromtime=$_POST['fromtime']; 
$untiltime=$_POST['untiltime']; 
$tablenumber = $table; 

$host="localhost"; 
$user="root"; 
$password="root"; 
$database="restaurant"; 
$connection = mysql_connect ($host, $user, $password) 
    or die ("could not connect with server"); 
$db = mysql_select_db ($database, $connection) 
    or die ("could not connect with db"); 

$query = mysql_query("SELECT * FROM tables WHERE table='$tablenumber' AND date = '$date'"); 
?> 
+0

「桌子」表的結構是什麼?順便說一句,如果可能的話,停止使用'mysql_' http://php.net/manual/en/intro.mysql.php – cheesemacfly

+0

此外,你沒有調用更新表中的值 - 只選擇它。 –

+0

[**請不要在新代碼中使用'mysql_ *'函數**](http://bit.ly/phpmsql)。他們不再被維護[並被正式棄用](https://wiki.php.net/rfc/mysql_deprecation)。看到[**紅框**](http://j.mp/Te9zIL)?學習[*準備的語句*](http://j.mp/T9hLWi),並使用[PDO](http://php.net/pdo)或[MySQLi](http://php.net/ mysqli) - [這篇文章](http://j.mp/QEx8IB)將幫助你決定哪個。如果你選擇PDO,[這裏是一個很好的教程](http://j.mp/PoWehJ)。 – Kermit

回答

1

我猜你有一個帶一張桌子一對多關係的保留(如果他們可以只保留1臺),所以你需要一個INSERT語句添加預約

這裏是一些僞代碼

INSERT INTO reservation (tableid, startTime,endtime,reservationName) VALUES (tableid, yourFronttime, yourEndTime, reservationName) 

但在插入之前,你必須檢查表是免費的這樣的

SELECT tableId 
FROM reservation 
WHERE (startTime BETWEEN yourFrontTime AND untilTime) OR (endtime BETWEEN yourFrontTime AND untilTime) 
AND TableId = yourId 

如果你有選擇的結果,他們必須選擇另一個時間或另一個表。

+1

爲什麼地球上必須'SELECT *'來查看記錄是否存在?一個簡單的'SELECT COUNT(*)'就足夠了。 – Kermit

+0

這只是一個例子...我不認爲他們會複製/粘貼這個speudoCode ...你甚至不需要一個Count(*)..你可以選擇任何列,它只是爲了指導,我沒有'甚至可以使用準備好的語句作爲參數。但我會編輯我的答案以防萬一。謝謝。 – Marc