Je construis une base de données pour faire des réservations d'hôtel. Une table appelée «réservations» contient les détails généraux de la réservation, tandis qu'une autre appelée «chambres» contient des détails sur des chambres spécifiques (chaque réservation a plusieurs chambres, chaque chambre appartient à une seule réservation). Je voudrais être capable de générer facilement des enregistrements de réservations en double (à l'exception de la clé primaire, bien sûr). Mon problème est de générer les données des pièces sous forme de tableau qui est ensuite inséré dans la table des pièces tout en étant associé à sa réservation. Je suis venu aussi loin que le code trivial suivant (dépouillé à l'essentiel pour des fins de discussion).php/mysql créer des enregistrements en double avec plusieurs tables
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']);
}
La grande question est, maintenant quoi? Tout ce que j'ai essayé génère une erreur ou pas de nouvelles entrées, et je n'arrive pas à trouver une discussion qui répond à ce besoin spécifique. Merci de votre aide.
Merci beaucoup! L'instruction INSERT INTO ... SELECT est évidemment quelque chose dont je dois me renseigner! Je veux bien essayer. – PeterC