我正在建立一個數據庫,用於預訂酒店。一張名爲「預訂」的表格包含預訂的一般細節,而另一張名爲「房間」的房間則包含有關特定房間的詳細信息(每個預訂有許多房間,每個房間只屬於一個預訂)。php/mysql創建多個表的重複記錄
我希望能夠輕鬆生成重複的預留記錄(當然除了主鍵)。我的問題是將房間數據生成爲一個數組,然後在與其預留相關聯時將其插入房間表中。
我已經到了以下簡單的代碼(剝離到討論的基本要點)。
if (isset($_POST['action']) and $_POST['action'] == 'Duplicate')
{
include $_SERVER['DOCUMENT_ROOT'] . '/includes/connect.inc.php';
$id = mysqli_real_escape_string($link, $_POST['id']);
// retrieve reservation
$sql = "SELECT type_of_reservation FROM reservations WHERE id='$id'";
$result = mysqli_query($link, $sql);
$row = mysqli_fetch_array($result);
$type_of_reservation = $row['type_of_reservation'];
// create new reservation record
$sql = "INSERT INTO reservations SET type_of_reservation ='$type_of_reservation'";
$id = mysqli_insert_id($link);
// retrieve rooms
$sql = "SELECT reservation_id, in_date FROM rooms WHERE reservation_id='$id'";
$result = mysqli_query($link, $sql);
while ($row = mysqli_fetch_array($result))
{
$rooms[] = array('reservation_id' => $row['reservation_id'], 'in_date' => $row['in_date']);
}
最大的問題是,現在是什麼?我試過的每件事都會產生一個錯誤或者沒有新的條目,我似乎無法找到任何解決這個特定需求的討論。謝謝你的幫助。
謝謝! INSERT INTO ... SELECT語句顯然是我需要了解的東西!我會試試這個。 – PeterC 2010-03-06 17:17:51