Php/mysql

Fermé
ldld Messages postés 11 Date d'inscription vendredi 23 mai 2008 Statut Membre Dernière intervention 12 septembre 2008 - 12 sept. 2008 à 13:32
 toto - 12 sept. 2008 à 17:29
Bonjour,

je travaille sur une base de données et je dois alimenter cette base.

j'ai un formulaire php.

je récupère tous les idrubrique de ma table rubrique que j'ai saisie avant. (idrubrique est le id de la table rubrique dont j'ai besoin ds ma table question)

le problème est le suivant:

Il ne m'insert que le ID = 1, pour le reste il me dit aucun enregistrement

Est ce que vous avez une idée???

ma page htm de saisie:

<html>
<head>
<title>Formulaire table question</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">


</head>

<body>
<form action="form_tb_question_bm.php" method="post" >
<div class="blue">
<h1>linguistique</h1>
<h1>remplir la table question de la base Morphosyntaxique</h1>

<label>idrubrique</label>

<table>
<select name="idrubrique">
<option value="1">le duel</option>
<option value="2"> le pluriel</option>
<option value="3">le genre</option>
<option value="4">La substantivation</option>
<option value="5">Le diminutif</option>
<option value="6">Les pronoms personnels</option>
<option value="7">Les pronoms démonstratifs</option>
<option value="8">Les adverbes interrogatifs</option>
<option value="9">Les interrogatifs composés</option>
<option value="10">L'interrogation totale suffixée</option>
<option value="11">La négation</option>
<option value="12">Les adjectifs possessifs</option>
<option value="13">Les pronoms combinés</option>
<option value="14">Les pronoms possessifs</option>
<option value="15">Le lieu</option>
<option value="16">Le temps (futur)</option>
<option value="17">Le temps</option>
<option value="18">Les quantificateurs</option>
<option value="19">Les outils syntaxiques divers</option>
<option value="20">verbes aspectuels</option>
<option value="21">Le passé</option>
<option value="22">Le présent</option>
<option value="23">L'impératif</option>
</select>
</table>

<br>
<label>idquestion</label>
<br>
<input type="text" name="idq">
<br>

<label>Code question</label><br>
<input type="text" name="code">

<br>
<label>texte</label><br>
<input type="text" name="ta">

<br>
<label>Transcription phonétique</label><br>
<input type="text" name="tp">

<br>
<label>Traduction en français</label><br>
<input type="text" name="trad">
<br>
<label>Image</label><br>
<input type="text" name="image">


<br><br>
<input type="submit" name="Submit" value="Valider">
<input type="hidden" name="act" value="1">
<input type="reset" name=Effacer VALUE="Effacer" >

</div>
</form>
</body>
</html>

///////////
Mon script PHP est le suivant:
<html>
<head>
<title>Insertion des données dans la base Morphosyntaxique</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>

<body>

<?php

// Récupération des données POST table question
$idrubrique = $_POST['$rubrique'];
$idquestion = $_POST['idq'];
$codequestion = $_POST['code'];
$textearabe = $_POST['ta'];
$transphon = $_POST['tp'];
$traduction = $_POST['trad'];
$image = $_POST['image'];

//connection à la base
$serveur = "localhost";
$utilisateur = "root";
$motDePasse = "";
$base = "atlasbm";

$db = mysql_pconnect($serveur, $utilisateur , $motDePasse)
or die("Impossible de se connecter au serveur de bases de données.");
mysql_select_db($base, $db)
or die("Base de données non trouvée.");


//récupération de idrubrique et insertion dans la table question
$ID = 0; // valeur par défaut
if( isset( $_POST['idrubrique'] ) && !empty( $_POST['idrubrique'] ) ) // si tu as une réponse du formulaire
{
$ID = (int) $_POST['idrubrique'];
}
$sql = "SELECT `idrubrique` FROM `question` WHERE `idrubrique` = '$ID';";
$result = mysql_query($sql, $db);


if($result) //si la requête s'est bien exécutée
{
if( mysql_num_rows($result) == 0 ) //pas d'enregistrements
{
echo( "<p>Aucun enregistrement.</p>\n" );
}

else // quelque chose à afficher
{


//insertion des données dans la table question

mysql_query("INSERT INTO question VALUES ('$idrubrique','$idquestion','$codequestion','$textearabe','$transphon','$traduction','$image')") or die("Impossible d'insérer les données");

printf("Le dernier ID inséré dans est le id %d\n", $idquestion);

}
}

else // erreur d'exécution
{
echo( "<p>Erreur d'exécution de la requête.</p>\n" );
}

echo "Merci.";

?>
</body>
</html>

Merci
A voir également:

4 réponses

Bonjour

Je n'ai pas essayé de comprendre tout ton code, mais ça ne serait pas
idrubrique = $_POST['idrubrique']; 

au lieu de
idrubrique = $_POST['$rubrique']; 
?
0
Je ne suis pas sûr de tout comprendre

D'après ton code, tu ne fais d'insertion dans ta table 'question' que si l'enregistrement idrubrique existe déjà. Tu ne peux donc jamais enregistrer de nouvel idrubrique
Tu veux recopier des informations venant d'une table 'rubrique' mais il n'y a aucune table rubrique dans ton code ???
0
ldld Messages postés 11 Date d'inscription vendredi 23 mai 2008 Statut Membre Dernière intervention 12 septembre 2008
12 sept. 2008 à 17:07
bonjour,

j'ai corrigé : idrubrique = $_POST['$rubrique'];

n'enregistre que les deux id.

pour bien expliquer

ma problématique est de récupéper les id déja insérer dans la table "rubrique" pour les insérer dans ma table "question"?

est ce qu'il ya une autre manière de procéder plus facile que la mienne.
-1
manelsousse Messages postés 59 Date d'inscription lundi 10 mars 2008 Statut Membre Dernière intervention 18 août 2009
12 sept. 2008 à 17:19
est ce que tu as mis dans la base de donnée le "EXTRA" de l'identifiant=auto_increment?
en tout cas je vai coller votre code et vous aider
-1

Discussions similaires