Vous n'êtes pas identifié(e).
Pages : 1
Pardon pour le BBCode...
Merci pour la réponse
Oui, si j'ai créé plusieurs tables c'est que j'ai réfléchi un peu
Je pensais plus à une fonction du genre...
Avant le INSERT TO dans ma base,
puisque je connais le n° ID de mon auteur, j'applique une fonction :
je vais lire dans la table t_auteurs le nom qui correspond à l'ID.
je transmet ce nom à "$auteur" et je l'insère...
Pas possible ?
Cela demande trop de temps ?
Je suis trop simpliste ?
Bonne soirée
Bonjour,
et d'avance, merci pour votre aide!!!
J'ai parcouru beaucoup de pages forum, sans trouver la réponse...
Ma syntaxe me semble correcte, mais je sèche...
une subtilité qui m'échappe...
Transformer la valeur de l'ID en nom de l'auteur?
Un problème simple je pense....
Mes tables sont créées correctement :
Table : t_ouvrages avec champs ID_ouvrage, Titre, Editeur, Auteur, etc...
Table : t_auteurs avec champs ID_auteurs, Auteur ;
Plus Tables t_editeurs, t_thematiques, le tout avec des liaisons, mais j'ai épuré pour cerner le PB.
La première partie du formulaire se passe bien et me donne la liste de tous les auteurs de la base
sous forme de liste déroulante.
Si j'en sélectionne un, <Rostand, Edmond>, il es t pris en compte.
Mais dans la seconde partie du formulaire,
le <<<< $_POST['Auteur'] ; >>> me renvoie ID_auteur soit n° "7" par exemple,
au lieu de Auteur soit "Rostand, Edmond" et donc inscrit
dans la base le chiffre "7" dans le champ "Auteur", au lieu de "Rostand, Edmond".
Oui, il me reste :
à mettre une condition pour vérifier que le champ est bien renseigné ;
à inclure une fonction "antislashes" je crois (notamment pour les apostrophes dans les titres);
et à revoir le CSS
j'essayerai de trouver cela ensuite...
}
body {
background-color: #000;
}
-->
</style>
<head>
<title>Entrée d'un nouvel ouvrage</title>
</head>
<body>
<?php
//on inclut le fichier connexion.php pour se connecter à la base de données :
include("connexion.php");
?>
<h2 align="center">INSERTION D'UN NOUVEL OUVRAGE DANS LA BASE BDDBOOKS</h2>
<br>
<form name="insertion" action="new_ouvrage2.php" method="POST">
<table border="1" align="center" cellspacing="2" cellpadding="2">
<tr align="center">
<td>Titre ouvrage</td>
<td><input type="text" name="Titre" size="120" maxlength="250"></td>
</tr>
<tr align="center">
<td>Auteur</td>
<td align="left">
<select name="Auteur">
<option value "Sélectionner un auteur">Sélectionner un auteur</option>
<?php
$sql = "SELECT Auteur, ID_auteur FROM t_auteurs ORDER BY Auteur";
$resultat = mysql_query ($sql) or die (mysql_error());
while ($rang = mysql_fetch_array ($resultat)) {
$ID_auteur = $rang['ID_auteur'];
$auteur = $rang['Auteur'];
echo "<option value=\"$ID_auteur\">$auteur</option>";
}
?>
</select>
</td>
</tr>
<tr align="center">
<td colspan="2"><input type="submit" value="Insérer l'ouvrage"></td>
</tr>
</table>
</form>
<?php
?>
<center>
ou <br><br>
<a href="../index.php"><img src="../images/bt_retourmenu.jpg" alt="Bouton retour à l'accueil" width="113" height="23" border="0" /></a>
</center>
</body>
</html>
------------------------------Second fichier du formulaire--------------------------------------
//création de la requête SQL:
$sql = "INSERT INTO t_ouvrages (Titre , Auteur )
VALUES ( '$titre', '$auteur' ) " ;
//exécution de la requête SQL:
$requete = mysql_query($sql, $cnx) or die( mysql_error() ) ;
//affichage des résultats, pour savoir si l'insertion a marchée:
if($requete)
{
//header( 'Location: new_ouvrage_ok.php' );
}
else
{
echo("L'insertion à échouée") ;
}
?>
Edit modération : Merci d'utiliser le bbcode pour mettre en forme les pâtés de code
Pages : 1