5 pièce(s) jointe(s)
Conflit dans base de données
Bonjour à tous,
Je vous écris puisque j'ai un soucis avec lequel je me bat depuis maintenant 2 jours, je ne m'en sort pas...
Je souhaite insérer dans ma base un événement suite à la saisie d'informations dans un formulaire. Cet événement sera inséré dans la table "evenement".
Voici le formulaire :
Pièce jointe 259244
Dans un premier temps, il faut renseigner le nom d'une tournée. Ces noms sont présents dans la table "tournee". Au lieu de récupérer le nom de cette tournée (ce qui est affiché), je récupère l'id de celle-ci.
il faut ensuite renseigner la ville, l'adresse, le lien, et la description.
Lors de la création de ma base de données, j'ai décidé de créer plusieurs tables avec des relations. Par exemple, la clé primaire de la table "tournee" est "id_tournee". Cet "id_tournee" est aussi présent dans la table "evenement" afin de définir automatiquement la tournée à laquelle appartient tel ou tel événement.
Mon code ne fonctionnant pas, j'ai alors décidé de tester ma requête directement dans phpmyadmin et voici le résultat :
Pièce jointe 259250
Le soucis est donc celui de cette erreur car je pense que mon code est correct :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64
|
<form class="formajoutevent" action="" method="post" enctype="multipart/form-data">
<select name="tournee" required>
<?php
try
{
$bdd = new PDO('mysql:host=localhost;dbname=medrano2017;charset=utf8', 'root', '');
}
catch(Exception $e)
{
die('Erreur : '.$e->getMessage());
}
$reponse = $bdd->query('SELECT * FROM tournee');
while ($donnees = $reponse->fetch())
{
?>
<option value="<?php echo $donnees['id_tournee'];?>"><?php echo $donnees['nom_tournee'];?></option>
<?php
}
$reponse->closeCursor();
?>
</select>
<!--<input type="file" name="affiche" />-->
<input type="text" name="ville" placeholder="Ville de l'événement" required>
<input type="text" name="adresse" placeholder="Adresse de l'événement" required>
<input type="text" name="lienresa" placeholder="Lien de réservation" required>
<textarea type="text" name="description" placeholder="Plus d'informations..." required></textarea>
<input class="ajoutertournee" type="submit" value="Ajouter">
</form>
<?php
//var_dump( $_POST['tournee'] );
//var_dump( $_POST['adresse'] );
//var_dump( $_POST['adresse'] );
//var_dump( $_POST['lienresa'] );
//var_dump( $_POST['description'] );
if(isset($_POST['ville']) && isset($_POST['adresse']) && isset($_POST['lienresa']) && isset($_POST['description']))
{
try
{
$bdd = new PDO('mysql:host=localhost;dbname=medrano2017;charset=utf8', 'root', '');
}
catch(Exception $e)
{
die('Erreur : '.$e->getMessage());
}
$reponse = $bdd->query('INSERT INTO evenement (id_tournee, ville_event, adresse_event, lien_resa_event, description_event) VALUES ("'.$_POST['tournee'].'","'.$_POST['ville'].'","'.$_POST['adresse'].'","'.$_POST['lienresa'].'","'.$_POST['description'].'")');
//header('Location: ../index.php');
}
else
{
echo 'erreur';
}
?> |
Voici les structures de mes tables, ainsi que le schéma relationnel :
Table "evenement" :
Pièce jointe 259253
Table "tournee" :
Pièce jointe 259258
Schéma relationnel :
Pièce jointe 259259
Merci d'avance à tout le monde !