【发布时间】:2010-03-07 00:33:22
【问题描述】:
我正在建立一个用于预订酒店的数据库。一个名为“reservations”的表包含预订的一般详细信息,而另一个名为“rooms”的表包含有关特定房间的详细信息(每个预订有很多房间,每个房间只属于一个预订)。
我希望能够轻松生成重复的预订记录(当然,主键除外)。我的问题是将房间数据生成为一个数组,然后将其插入到房间表中,同时与其预订相关联。
我已经达到了以下琐碎的代码(为了讨论目的,只剩下最基本的部分)。
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']);
}
最大的问题是,现在怎么办?我尝试过的一切要么产生错误,要么没有新条目,而且我似乎找不到任何解决这个特定需求的讨论。感谢您的帮助。
【问题讨论】: