25 Novembre 2017 à 08:34:11

Auteur Sujet: 2 tables réunies dans une 3ème  (Lu 1772 fois)

didi

  • Nouveau membre
  • *
  • Messages: 1
  • Points gagnés: 0
    • Voir le profil
2 tables réunies dans une 3ème
« le: 19 Juin 2007 à 22:44:49 »
Bonjour,
voilà j'ai une table adhérent avec pour clef primaire Adh_Code une autre table stage avec pour clé primaire Sta_Num.
Mon problème c'est que je souhaite établir une troisième table inscription avec une clef primaire qui est Ins_code mais qui comporte à la fois des champs de la table adhérent et de la table stage.

Ainsi, j'ai fait ce morceau de code

<?php 
include(
'accesAikido.php');
?>
<br>
<?php
include(
'menu.php');
?>
<br><br>

<html>
<head>
<titre> </titre>
<link href="feuille.css" rel="stylesheet" type="text/css">

<?php
$ok 0;  // initialisation de la vérification
$msg_ok "Votre demande a bien été prise en compte.";
$message "Les champs suivants doivent être obligatoirement remplis :<br/><br/>";

if ((empty($_POST['txt_nom'])) and (empty($_POST['txt_prenom'])) and (empty($_POST['txt_naissance'])) and (empty($_POST['txt_rue'])) and (empty($_POST['txt_ville'])) and (empty($_POST['txt_cp'])) and (empty($_POST['txt_Email'])))
    
  {
$ok ;
  }
else

$ok 0;
  if (empty($_POST['txt_nom']))
{
$message.="Votre nom <br/>";
$ok 1;
}
  if (empty($_POST['txt_prenom'])) 
{
$message.="Votre prénom <br/>";
$ok 1;
}
  if (empty($_POST['txt_naissance']))
{
$message.="Votre date de naissance <br/>";
$ok 1;
}
  if (empty($_POST['txt_rue'])) 
{
$message .="Votre numéro de rue <br/>";
$ok 1;
}

  if (empty($_POST['txt_ville']))  
{
$message.="Votre ville <br/>";
$ok 1;
}
  if (empty($_POST['txt_cp']))
{
$message .="Votre code postal <br/>";
$ok 1;
}
  if (empty($_POST['txt_Email']))
{
$message .="Votre adresse électronique <br/>";
$ok 1;
}
 
    }
  
if ($ok == 0
{
//@ permet d'éviter les messages d'erreurs quand les var sont vides.

//$Civilite = @$_POST['lst_civilite']; 
$Nom $_POST['txt_nom'];
$Prenom $_POST['txt_prenom'];
$DateNaissance $_POST['txt_naissance'];
$Rue $_POST['txt_rue'];
$Ville $_POST['txt_ville'];
$Cp $_POST['txt_cp'];
$Email $_POST['txt_Email'];
$Telephone $_POST['txt_telephone'];
$Grade $_POST['txt_grade'];
$CodeClub = @$_POST['lst_club'];
$saison $_POST['lst_stageSaison'];
$mois $_POST['lst_stageMois'];
$type $_POST['lst_stageType'];
$libelle $_POST['lst_stageLibelle'];
$intitule $_POST['lst_stageIntitule'];
$datedebut $_POST['lst_stageDateDebut'];



$sql " INSERT INTO adhérent ( Adh_Club, Adh_Nom, Adh_Prenom, Adh_Ddn, Adh_Rue, Adh_Ville, Adh_Cp, Adh_Mail, Adh_Tel, Adh_Grade)";
$sql .= " VALUES ( ".$CodeClub",'"$Nom ."','"$Prenom ."','"$DateNaissance ."','"$Rue ."','"$Ville ."','"$Cp ."','"$Email ."','"$Telephone ."','"$Grade ."')";
$sql "INSERT INTO inscription (Ins_Saison, Ins_Libelle, Ins_Mois, Ins_Intitule, Ins_Type, Ins_DateDebut)";
$sql .= "VALUES ('".$saison."','".$libelle."','".$mois."','".$intitule."','".$type."','".$datedebut."')";


$res mysql_query($sql);

 if ($res
  
{
echo $msg_ok;


 else 
  
{
echo "Une erreur d'enregistrement";
    
}  
   



else 
{
  
echo $message
foreach($_POST as $index => $valeur)
  {
    
$$index mysql_real_escape_string(trim($valeur));
 
}
}

?>


</head>

<body background='image filigrane3.bmp'>
<center> <font size="6" color="red"> <b><i>  Formulaire adhérent </i></b> </font> </center><br><br>
<fieldset>
<FORM Method="POST" Action="frm_adherent.php">
<table width="100%" cellspacing="10">
<tr>
<td>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Civilité   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<select name="lst_civilite">
  <option value = "Mademoiselle"> Mademoiselle  </option>
<option value = "Madame">  Madame  </option>
<option value = "Monsieur">  Monsieur  </option>
</select>
</td>
</tr>
<tr>
<td>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Nom *   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<input type="text" name="txt_nom" size="30" maxlength="30">
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Prénom *  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<input type="text" name="txt_prenom" size="30" maxlength="30">
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Date de naissance *   &nbsp;
<input type="text" name="txt_naissance" size="10" maxlength="10"><hr><br>
</td>
</tr>
<br>
<tr>
<td> <font color="green"> <u> Coordonnées : </u> </font> <br><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
N°Rue *  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<input type="text" name="txt_rue" size="50" maxlength="50">
</td>
</tr>
<tr>
<td>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Ville *   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<input type="text" name="txt_ville" size="50" maxlength="50">
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Cp *  &nbsp;&nbsp;&nbsp;
<input type="text" name="txt_cp" size="10" maxlength="5">
</td>
   </tr>
   <tr>
<td>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Téléphone  &nbsp;&nbsp;&nbsp;
<input type="text" name="txt_telephone" size="14" maxlength="14">
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Email *   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<input type="text" name="txt_Email" size="50" maxlength="50"> <hr>
</td>
</tr>
<tr>
<td> <font color="green"> <u> Niveau : </u> </font> <br><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Grade &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <input type="text" name="txt_grade" size="15" maxlength="15">
</td>
    </tr>
<tr>
<td>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Club  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;

<?php // comment créér une liste déroulante et la générer
$sql="Select Club_Code, Club_Nom from club";
$resultatmysql_query ($sql$connect);
echo '<select name="lst_club">';
 while ($ligne mysql_fetch_row($resultat)) 

echo '<option value="'.$ligne[0].'">'.$ligne[1];
echo '</option>'."\n";  
}  
echo '</select>'."\n";  

?>
<hr> 
</td>
</tr>

<tr>
<td>
<font color="green"> <u> Inscription à un stage : </u> </font> <br><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Saison * &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<?php // comment créér une liste déroulante et la générer
$sql="Select Sta_Num, Sta_Saison from stage";
$resultatmysql_query ($sql$connect);
echo '<select name="lst_stageSaison">';
 while ($ligne mysql_fetch_row($resultat)) 

echo '<option value="'.$ligne[0].'">'.$ligne[1];
echo '</option>'."\n";  
}  
echo '</select>'."\n";  

?>

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Mois *  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<?php // comment créér une liste déroulante et la générer
$sql="Select Sta_Num, Sta_Mois from stage";
$resultatmysql_query ($sql$connect);
echo '<select name="lst_stageMois">';
 while ($ligne mysql_fetch_row($resultat)) 

echo '<option value="'.$ligne[0].'">'.$ligne[1];
echo '</option>'."\n";  
}  
echo '</select>'."\n";  

?>

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Type *  &nbsp;&nbsp;&nbsp;&nbsp;
<?php // comment créér une liste déroulante et la générer
$sql="Select Sta_Num, Sta_Type from stage";
$resultatmysql_query ($sql$connect);
echo '<select name="lst_stageType">';
 while ($ligne mysql_fetch_row($resultat)) 

echo '<option value="'.$ligne[0].'">'.$ligne[1];
echo '</option>'."\n";  
}  
echo '</select>'."\n";  

?>

</td>
</tr>
<tr>
<td>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Intitule *  &nbsp;&nbsp;&nbsp;&nbsp;
<?php // comment créér une liste déroulante et la générer
$sql="Select Sta_Num, Sta_Intitule from stage";
$resultatmysql_query ($sql$connect);
echo '<select name="lst_stageIntitule">';
 while ($ligne mysql_fetch_row($resultat)) 

echo '<option value="'.$ligne[0].'">'.$ligne[1];
echo '</option>'."\n";  
}  
echo '</select>'."\n";  

?>

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Libelle *  &nbsp;&nbsp;&nbsp;&nbsp;
<?php // comment créér une liste déroulante et la générer
$sql="Select Sta_Num, Sta_Libelle from stage";
$resultatmysql_query ($sql$connect);
echo '<select name="lst_stageLibelle">';
 while ($ligne mysql_fetch_row($resultat)) 

echo '<option value="'.$ligne[0].'">'.$ligne[1];
echo '</option>'."\n";  
}  
echo '</select>'."\n";  

?>

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Date *  &nbsp;&nbsp;&nbsp;&nbsp;
<?php // comment créér une liste déroulante et la générer
$sql="Select Sta_Num, Sta_DateDebut from stage";
$resultatmysql_query ($sql$connect);
echo '<select name="lst_stageDateDebut">';
 while ($ligne mysql_fetch_row($resultat)) 

echo '<option value="'.$ligne[0].'">'.$ligne[1];
echo '</option>'."\n";  
}  
echo '</select>'."\n";  

?>
<br><br><br>

</td>
</tr>
<tr>
<td>
<b> <center>
&nbsp; &nbsp; &nbsp; &nbsp;&nbsp; &nbsp; &nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
<input type = "submit" name = "Cmd_Valider" value = "Valider">
&nbsp; &nbsp; &nbsp; &nbsp;&nbsp; &nbsp; &nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
<input type = "reset" name = "Cmd_Effacer" value = "Effacer" >
</center> </b>
</td>
</tr>
</table>

<?php  
$sql="select Club_Code from Club";
?>


</FORM>
</fieldset>
</body>
</html>

Je ne sais pas comment faire pour récupérer mes valeurs quelqu'un aurait une idée?
« Modifié: 19 Juin 2007 à 22:45:40 par Quentin »

Damien

  • Rédacteur Admin
  • Intarissable
  • *****
  • Messages: 2988
  • Points gagnés: 7
    • Voir le profil
    • aide informatique
Re : 2 tables réunies dans une 3ème
« Réponse #1 le: 26 Juin 2007 à 18:47:35 »
Bonjour,

Pourriez-vous être un peu plus précis sur la requête que vous voulez faire et les valeurs que vous voulez récupérer svp ?
Honnêtement j'ai compris que c'était les liaisons entre les tables qui vous gênent mais je n'ai pas lu tout le code qui est un peu long...

Sinon sur ce que j'ai compris, dans la table stage il vous faudra ajouter les champs Adh_Code et Sta_Num en clé étrangère pour faire la liaison.
Ensuite il vous faudra effectuer des requêtes avec jointures de ce type pour faire ce que vous voulez je pense, du style (je reste général car je n'ai pas lu tous les noms de vos champs) :
SELECT A.prenom, S.titredustage, I.date FROM adherent AS A, stage AS S, inscription AS I WHERE A.Adh_Code = I.Adh_Code AND S.Sta_Num = I.Sta_Num;
Bon courage
Cordialement,
Damien

Tutoriels informatique