Récupérer la donnée d'une table pour la mettre dans une autre
Résolu
roms75001
Messages postés
395
Date d'inscription
Statut
Membre
Dernière intervention
-
roms75001 Messages postés 395 Date d'inscription Statut Membre Dernière intervention -
roms75001 Messages postés 395 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je suis actuellement en BTS IRIS et je dois réaliser un site web de simulation de réservation de billet d'avion.
J'ai presque fini le développement du site en revanche j'ai un petit problème sur la base de données.
Voici ma modélisation :

Le voyageur choisi son vol, un numéro de dossier lui est généré en AUTO_INCREMENT, cela s'enregistre dans la table "dossiervoyage"
Puis il est redirigé vers une page où il devra saisir les informations d'identité des passagers, ces informations seront enregistrées dans la table "voyageur".
Je voudrais savoir comment puis-je récupérer le numéro de dossier qui est généré dans table "dossiervoyage" afin de le copier et de l'associer au voyageur de la table "voyageur"
Merci d'avance
Je suis actuellement en BTS IRIS et je dois réaliser un site web de simulation de réservation de billet d'avion.
J'ai presque fini le développement du site en revanche j'ai un petit problème sur la base de données.
Voici ma modélisation :

Le voyageur choisi son vol, un numéro de dossier lui est généré en AUTO_INCREMENT, cela s'enregistre dans la table "dossiervoyage"
Puis il est redirigé vers une page où il devra saisir les informations d'identité des passagers, ces informations seront enregistrées dans la table "voyageur".
Je voudrais savoir comment puis-je récupérer le numéro de dossier qui est généré dans table "dossiervoyage" afin de le copier et de l'associer au voyageur de la table "voyageur"
Merci d'avance
A voir également:
- Récupérer la donnée d'une table pour la mettre dans une autre
- Table ascii - Guide
- Table des matières word - Guide
- Recuperer message whatsapp supprimé - Guide
- Comment recuperer une video sur youtube - Guide
- Recuperer le son d'une video - Guide
4 réponses
Bonjour,
Avec quel langage travailles tu ?
Qu'as tu codé pour l'insertion en BDD ?
**** Attention ****
Merci de bien vouloir utiliser la coloration syntaxique (les balises de code) lorsque tu postes du code sur le forum.
Explications disponibles ici :
https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code
.
Avec quel langage travailles tu ?
Qu'as tu codé pour l'insertion en BDD ?
**** Attention ****
Merci de bien vouloir utiliser la coloration syntaxique (les balises de code) lorsque tu postes du code sur le forum.
Explications disponibles ici :
https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code
.
Ok... donc en PHP.
Et pour te connecter (en php) à ta Base de données Mysql .. qu'as tu utilisé comme extension ?
mysql_* , mysqli_* ou PDO ?
Et qu'as tu commencé à coder ?(pour l'insertion de tes données en base )
Merci de nous montrer ton code
**** Attention ****
Merci de bien vouloir utiliser la coloration syntaxique (les balises de code) lorsque tu postes du code sur le forum.
Explications disponibles ici :
https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code
.
Et pour te connecter (en php) à ta Base de données Mysql .. qu'as tu utilisé comme extension ?
mysql_* , mysqli_* ou PDO ?
Et qu'as tu commencé à coder ?(pour l'insertion de tes données en base )
Merci de nous montrer ton code
**** Attention ****
Merci de bien vouloir utiliser la coloration syntaxique (les balises de code) lorsque tu postes du code sur le forum.
Explications disponibles ici :
https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code
.
J'ai utilisé l'extension PDO comme ci-dessous :
Voici le traitement de mon premier formulaire :
Ainsi que le traitement de mon deuxieme formulaire :
Voici l'insertion dans ma BDD :
<?php try { $bdd_voyageurs = new PDO ('mysql:host=localhost;dbname=databasegestionvoyageurs;charset=utf8', 'root', ''); } catch(Exception $e) { die('Erreur : '.$e->getMessage()); } ?>
Voici le traitement de mon premier formulaire :
<?php session_start(); ?> <!DOCTYPE html> <html> <head> <title>Choose your flight !</title> <meta charset="utf-8" /> <meta http-equiv="Content-Language" content="fr-fr" /> <link rel="stylesheet" media="screen" type="text/css" href="design.css" /> </head> <body> <?php require_once('connect.php'); ?> <?php include("header.php"); ?> <?php include("menu.php"); ?> <div class="corps"> <?php if (isset($_POST['depart'])) $_SESSION['depart'] = $_POST['depart']; else $_SESSION['depart'] = ""; if (isset($_POST['arrivee'])) $_SESSION['arrivee'] = $_POST['arrivee']; else $_SESSION['arrivee'] = ""; if (isset($_POST['date_depart'])) $_SESSION['date_depart'] = $_POST['date_depart']; else $_SESSION['date_depart'] = ""; if (isset($_POST['date_retour'])) $_SESSION['date_retour'] = $_POST['date_retour']; else $_SESSION['date_retour'] = ""; $_SESSION['adultes'] = $_POST['adultes']; $_SESSION['enfants'] = $_POST['enfants']; if (($_SESSION['depart'] && $_SESSION['arrivee'] && $_SESSION['date_depart'] && $_SESSION['date_retour']) != "" ) { $date_ajd=date('d-m-Y'); if (($date_ajd <= $_SESSION['depart']) ) { echo "<h2>Vol(s) <span>Disponible</span> :</h2>"; ?> <div id="div_liste_vols" class="div_corps"> <form name="frm_ajout_reservation" method="POST" action="traitement_page_2_reservation.php"> <h1 id="titre_vols">Votre vol <span class="mots_clés">"Aller"</span></h1> <table id="table_vols_aller"> <thead class="t_head_vols"> <td class="ligne_head_vols"> <label>Numéro de vol</label> </td> <td class="ligne_head_vols"> <label>Départ</label> </td> <td class="ligne_head_vols"> <label>Date <br> Heure départ</label> </td> <td class="ligne_head_vols"> <label>Destination</label> </td> <td class="ligne_head_vols"> <label>Heure d'arrivée</label> </td> <td class="ligne_head_vols"> <label>Compagnie</label> </td> <td class="ligne_head_vols"> <label>Prix /p</label> </td> <td class="ligne_head_vols"> <label>Choix du vol "aller"</label> </td> </thead> <?php /* Requete pour déduire le nom de l'aeroport de depart grace au code IATA */ $sql_iata_depart = "SELECT * FROM aeroport WHERE ville = '".$_SESSION['depart']."' OR nomAeroport = '".$_SESSION['depart']."' OR codeIATA = '".$_SESSION['depart']."' "; $result_iata_depart = $bdd_vol->query($sql_iata_depart); while($iata_depart = $result_iata_depart->fetch(PDO::FETCH_ASSOC)) { /* Requete pour déduire le nom de l'aeroport destination grace au code IATA */ $sql_iata_destination = "SELECT * FROM aeroport WHERE ville = '".$_SESSION['arrivee']."'"; $result_iata_destination = $bdd_vol->query($sql_iata_destination); while($iata_destination = $result_iata_destination->fetch(PDO::FETCH_ASSOC)) { /* Requete pour trouver les vols aller disponibles selon critères saisis */ $sql_aller = "SELECT * FROM vol WHERE provenance = '".$iata_depart['codeIATA']."' AND destination = '".$iata_destination['codeIATA']."' AND dateDepart = '".$_SESSION['date_depart']."'"; $result = $bdd_vol->query($sql_aller); while($row_aller = $result->fetch(PDO::FETCH_ASSOC)) { echo "<tr>"; echo "<td class=\"ligne_paire_vols\">".$row_aller['numeroVol']."</td>"; echo "<td class=\"ligne_paire_vols\">".$_SESSION['depart']."</td>"; echo "<td class=\"ligne_paire_vols\">".dateusfr($row_aller['dateDepart'])."<br>".$row_aller['heureDepart']."</td>"; echo "<td class=\"ligne_paire_vols\">".$_SESSION['arrivee']."</td>"; echo "<td class=\"ligne_paire_vols\">".dateusfr($row_aller['dateArrivee'])."<br>".$row_aller['heureArrivee']."</td>"; /* Recupère le nom de la compagnie grace à IdAvion */ $sql_compagnie = "SELECT * FROM avion WHERE IdAvion = '".$row_aller['IdAvion']."'"; $result_compagnie = $bdd_vol->query($sql_compagnie); while($compagnie = $result_compagnie->fetch(PDO::FETCH_ASSOC)) { echo"<td class=\"ligne_paire_vols\">".$compagnie['compagnie']."</td>"; } echo "<td class=\"ligne_paire_vols\">".$row_aller['prix']."€</td>"; echo '<td class="ligne_paire_vols"><input type="radio" name="choix_aller" value="'.$row_aller['numeroVol'].'"></td>'; echo"</tr>"; } /* Requete pour trouver les vols retour disponibles selon critères saisis */ $sql_retour = "SELECT * FROM vol WHERE provenance = '".$iata_destination['codeIATA']."' AND destination = '".$iata_depart['codeIATA']."' AND dateDepart = '".$_SESSION['date_retour']."'"; $result_retour = $bdd_vol->query($sql_retour); } } ?> </table> <h1 id="titre_vols">Votre vol <span class="mots_clés">"Retour"</span></h1> <table id="table_vols_retour"> <thead class="t_head_vols"> <td class="ligne_head_vols"> <label>Numéro de vol</label> </td> <td class="ligne_head_vols"> <label>Départ</label> </td> <td class="ligne_head_vols"> <label>Date <br> Heure départ</label> </td> <td class="ligne_head_vols"> <label>Destination</label> </td> <td class="ligne_head_vols"> <label>Heure d'arrivée</label> </td> <td class="ligne_head_vols"> <label>Compagnie</label> </td> <td class="ligne_head_vols"> <label>Prix /p</label> </td> <td class="ligne_head_vols"> <label>Choix du vol "aller"</label> </td> </thead> <?php while($row_retour = $result_retour->fetch(PDO::FETCH_ASSOC)) { echo "<tr>"; echo "<td class=\"ligne_paire_vols\">".$row_retour['numeroVol']."</td>"; echo "<td class=\"ligne_paire_vols\">".$_SESSION['arrivee']."</td>"; echo "<td class=\"ligne_paire_vols\">".dateusfr($row_retour['dateDepart'])."<br>".$row_retour['heureDepart']."</td>"; echo "<td class=\"ligne_paire_vols\">".$_SESSION['depart']."</td>"; echo "<td class=\"ligne_paire_vols\">".dateusfr($row_retour['dateArrivee'])."<br>".$row_retour['heureArrivee']."</td>"; /*Recupère le nom de la compagnie grace à IdAvion */ $sql_compagnie = "SELECT * FROM avion WHERE IdAvion = '".$row_retour['IdAvion']."'"; $result_compagnie = $bdd_vol->query($sql_compagnie); while($compagnie = $result_compagnie->fetch(PDO::FETCH_ASSOC)) { echo"<td class=\"ligne_paire_vols\">".$compagnie['compagnie']."</td>"; } echo "<td class=\"ligne_paire_vols\">".$row_retour['prix']." €</td>"; echo '<td class="ligne_paire_vols"><input type="radio" name="choix_retour" value="'.$row_retour['numeroVol'].'"></td>'; echo"</td>"; echo"</tr>"; } ?> </table> </div> <input type="submit" value="Réserver" name="reserver" id="reserver" /> </form> </div> <?php } else if($date_ajd > $_SESSION['depart']) echo " Votre date de départ est déjà dépassée !"; } else if($_SESSION['depart']=="") echo "<br><font color='red'>Vous devez saisir votre depart ! </font>"; if($_SESSION['arrivee']=="") echo "<br><font color='red'>Vous devez saisir votre destination ! </font>"; if($_SESSION['date_depart']=="") echo "<br><font color='red'>Vous devez saisir date de départ ! </font>"; if($_SESSION['date_retour']=="") echo "<br><font color='red'>Vous devez saisir votre date de retour ! </font>"; ?> </body> </html>
Ainsi que le traitement de mon deuxieme formulaire :
session_start(); require_once('connect.php'); $_SESSION['titre$i'] = $_POST['titre$i']; $_SESSION['prenomt$i'] = $_POST['prenom$i']; $_SESSION['nom$i'] = $_POST['nom$i']; $_SESSION['jour$i'] = $_POST['jour$i']; $_SESSION['mois$i'] = $_POST['mois$i']; $_SESSION['annee$i'] = $_POST['annee$i']; $_SESSION['CI$i'] = $_POST['CI$i']; $_SESSION['mail$i'] = $_POST['mail$i']; $_SESSION['tel_portable$i'] = $_POST['tel_portable$i']; $_SESSION['tel_fixe$i'] = $_POST['tel_fixe$i']; } header("Location: bdd.php");
Voici l'insertion dans ma BDD :
<?php session_start(); require_once('connect.php'); // on crée une nouvelle ligne dans la table dosssiervoyage page 2 $sql_dossier = "INSERT INTO dossiervoyage (numeroVolAller, numeroVolRetour, nombreVoyageurs, total) VALUES (:choix_aller, :choix_retour, :vol_nbvoyageur, :vol_total)"; $result = $bdd_voyageurs->prepare($sql_dossier); $result->bindValue('choix_aller', $_SESSION['choix_aller'], PDO::PARAM_STR); $result->bindValue('choix_retour', $_SESSION['choix_retour'], PDO::PARAM_STR); $result->bindValue('vol_nbvoyageur', $_SESSION['vol_nbvoyageur'], PDO::PARAM_INT); $result->bindValue('vol_total', $_SESSION['vol_total'], PDO::PARAM_INT); $result->execute(); // on insère les informations des passagers dans la table voyageur $sql_info ="INSERT INTO voyageur (numeroDossier, titre, nom, prenom, dateDeNaissance, telephoneFixe, telephonePortable, mail, numeroCI, nombreBagages) VALUES('1234', :titre, :nom, :prenom, :dateDeNaissance, :tel_fixe, :tel_portable, :mail, :CI, :nb_bagages)"; $result = $bdd_voyageurs->prepare($sql_info); $result->bindValue('titre', $_SESSION['titre'], PDO::PARAM_STR); $result->bindValue('nom', $_SESSION['prenom'], PDO::PARAM_STR); $result->bindValue('prenom', $_SESSION['nom'], PDO::PARAM_STR); $result->bindValue('dateDeNaissance', ($_SESSION['annee'].'-'.$_SESSION['mois'].'-'.$_SESSION['jour']), PDO::PARAM_STR); $result->bindValue('tel_fixe', $_SESSION['tel_fixe'], PDO::PARAM_INT); $result->bindValue('tel_portable', $_SESSION['tel_portable'], PDO::PARAM_INT); $result->bindValue('mail', $_SESSION['mail'], PDO::PARAM_STR); $result->bindValue('CI', $_SESSION['CI'], PDO::PARAM_INT); $result->bindValue('nb_bagages', $_SESSION['nb_bagages'], PDO::PARAM_INT); $result->execute(); ?>
Bon...
Première chose... pour récupérer tes données ... tu peux remplacer tes IF
Par :
Ca rendra ton code plus lisible.
Ensuite...
Lorsque tu insères les données en BDD .. tu peux récupérer automatiquement après, l'ID qui a été généré avec l'instruction lastInsertId()
Première chose... pour récupérer tes données ... tu peux remplacer tes IF
if (isset($_POST['date_depart'])) $_SESSION['date_depart'] = $_POST['date_depart']; else $_SESSION['date_depart'] = "";
Par :
$_SESSION['date_depart'] = isset($_POST['date_depart']) ? $_POST['date_depart'] : "";
Ca rendra ton code plus lisible.
Ensuite...
Lorsque tu insères les données en BDD .. tu peux récupérer automatiquement après, l'ID qui a été généré avec l'instruction lastInsertId()
// on crée une nouvelle ligne dans la table dosssiervoyage page 2 $sql_dossier = "INSERT INTO dossiervoyage (numeroVolAller, numeroVolRetour, nombreVoyageurs, total) VALUES (:choix_aller, :choix_retour, :vol_nbvoyageur, :vol_total)"; $result = $bdd_voyageurs->prepare($sql_dossier); $result->bindValue('choix_aller', $_SESSION['choix_aller'], PDO::PARAM_STR); $result->bindValue('choix_retour', $_SESSION['choix_retour'], PDO::PARAM_STR); $result->bindValue('vol_nbvoyageur', $_SESSION['vol_nbvoyageur'], PDO::PARAM_INT); $result->bindValue('vol_total', $_SESSION['vol_total'], PDO::PARAM_INT); $result->execute(); // récupération de l'ID créé lors de l'insertion : $id_dossiervoyage = $bdd_voyageurs->lastInsertId();
Afin de communiquer avec ma base de données j'utilise le langage PHP et SQL. J'ai par ailleurs développé ma base de données sur PHPmyAdmin