Alimentation de la base de donnée
freddybrandt
-
freddybrandt -
freddybrandt -
Bonjour,
Voila mon probleme je suis en bts info gestion et je suis sur la creation d'une base de donnée et pour l'alimenter un formulaire en php.Malheureusement l'alimentation de la base ne se fait pas.
Voila mes Script
Script de la base de données:
DROP DATABASE IF EXISTS GRH;
CREATE DATABASE IF NOT EXISTS GRH;
USE GRH;
CREATE TABLE Postes (poste ENUM('Directeur', 'Développeur', 'Analyste')Primary key,
salaire DECIMAL (10,2))
ENGINE = InnoDB;
CREATE TABLE Employes (
id_emp INT(8) AUTO_INCREMENT PRIMARY KEY,
Nom VARCHAR(40) NOT NULL,
Poste VARCHAR(40)
) ENGINE = InnoDB CHARACTER SET latin1 COMMENT = 'La table des employes' AUTO_INCREMENT =101;
INSERT INTO Postes VALUES('Directeur', 555000.00);
INSERT INTO Postes VALUES('Développeur', 12000.00);
INSERT INTO Postes VALUES('Analyste', 234500.00);
Script du formulaire d'inscription:
<?php
//connexion et selection de la base
$action=$_POST['action'];
$lien=mysql_connect('localhost', 'stagiaire', 'joker') or die ('impossible de se connecter');
echo "<center>Formulaire d'ajout";
mysql_select_db(grh) or die ("Impossible de sélectionner la base de données");
//Exécuter des requêtes SQL
$requete = "SELECT poste FROM postes";
$result = mysql_query($requete) or die ("Erreur dans la requete");
if (isset($action)) {
$requete1="insert into employes(id_emp,nom,poste) values('','".$_POST['nom']."', '".$POST['poste']. "')";
$ok = mysql_query($requete1);
}
//Afficher des résultat en HTML
echo "<table><form method=post>\n";
echo "<tr><td>Nom :</td><td><input type=text name=nom></td></tr>";
echo "<tr><td colspan='2'><input type=hidden name=action value=insertion></td></tr>";
echo "<tr><td>Poste :</td><td><SELECT name=poste>";
while ($line = mysql_fetch_assoc($result))
{
foreach ($line as $col_value)
{ echo "<option value=".$col_value."> ".$col_value." </option>";
}
} echo "</td></select></tr>";
echo "<tr><td colspan=2><input type=submit value=Insertion></td></tr></form></table></center>";
echo "<br>Voici la derniere requete exécutée : ".$requete1;
//Libération des résultats
mysql_free_result ($result);
//Fermeture de la connexion
mysql_close($lien);
?>
____________________________________________________________________________________________
Merci pour votre aide
Voila mon probleme je suis en bts info gestion et je suis sur la creation d'une base de donnée et pour l'alimenter un formulaire en php.Malheureusement l'alimentation de la base ne se fait pas.
Voila mes Script
Script de la base de données:
DROP DATABASE IF EXISTS GRH;
CREATE DATABASE IF NOT EXISTS GRH;
USE GRH;
CREATE TABLE Postes (poste ENUM('Directeur', 'Développeur', 'Analyste')Primary key,
salaire DECIMAL (10,2))
ENGINE = InnoDB;
CREATE TABLE Employes (
id_emp INT(8) AUTO_INCREMENT PRIMARY KEY,
Nom VARCHAR(40) NOT NULL,
Poste VARCHAR(40)
) ENGINE = InnoDB CHARACTER SET latin1 COMMENT = 'La table des employes' AUTO_INCREMENT =101;
INSERT INTO Postes VALUES('Directeur', 555000.00);
INSERT INTO Postes VALUES('Développeur', 12000.00);
INSERT INTO Postes VALUES('Analyste', 234500.00);
Script du formulaire d'inscription:
<?php
//connexion et selection de la base
$action=$_POST['action'];
$lien=mysql_connect('localhost', 'stagiaire', 'joker') or die ('impossible de se connecter');
echo "<center>Formulaire d'ajout";
mysql_select_db(grh) or die ("Impossible de sélectionner la base de données");
//Exécuter des requêtes SQL
$requete = "SELECT poste FROM postes";
$result = mysql_query($requete) or die ("Erreur dans la requete");
if (isset($action)) {
$requete1="insert into employes(id_emp,nom,poste) values('','".$_POST['nom']."', '".$POST['poste']. "')";
$ok = mysql_query($requete1);
}
//Afficher des résultat en HTML
echo "<table><form method=post>\n";
echo "<tr><td>Nom :</td><td><input type=text name=nom></td></tr>";
echo "<tr><td colspan='2'><input type=hidden name=action value=insertion></td></tr>";
echo "<tr><td>Poste :</td><td><SELECT name=poste>";
while ($line = mysql_fetch_assoc($result))
{
foreach ($line as $col_value)
{ echo "<option value=".$col_value."> ".$col_value." </option>";
}
} echo "</td></select></tr>";
echo "<tr><td colspan=2><input type=submit value=Insertion></td></tr></form></table></center>";
echo "<br>Voici la derniere requete exécutée : ".$requete1;
//Libération des résultats
mysql_free_result ($result);
//Fermeture de la connexion
mysql_close($lien);
?>
____________________________________________________________________________________________
Merci pour votre aide
A voir également:
- Alimentation de la base de donnée
- Base de registre - Guide
- Formules mathématiques de base - Télécharger - Études & Formations
- Court circuit dans l'alimentation de lnb - Forum TNT / Satellite / Réception
- Exemple base de données access à télécharger gratuit ✓ - Forum Logiciels
- La base de données de sécurité du serveur n'a pas de compte d'ordinateur pour la relation - Forum Windows 10
5 réponses
Pour un raffraichissement direct dans un premier temps je mettrais ceci :
Juste avant ceci :
Sinon quelles sont les erreurs (affichées ou non) par ton programme ?
if (isset($action)) {
$requete1="insert into employes(id_emp,nom,poste) values('','".$_POST['nom']."', '".$POST['poste']. "')";
$ok = mysql_query($requete1);
}
Juste avant ceci :
//Exécuter des requêtes SQL
$requete = "SELECT poste FROM postes";
$result = mysql_query($requete) or die ("Erreur dans la requete");
Sinon quelles sont les erreurs (affichées ou non) par ton programme ?
As-tu essayé d'exécuter ta requête SQL à la main sur ta base de données ? Test là de manière à savoir si elle est correcte, car a priori ça ne semble pas être le cas. Je pense que Wanp t'en dira plus sur l'erreur possible si elle est là.
En fait j'utilise un packtage avec php mysql et apache.
En fait si je lance la requete sans id_emp ca passe pas ,mais si je mets un chiffre la requete passe correctement.
A mon avis le probleme vient de l'auto increment.
En fait si je lance la requete sans id_emp ca passe pas ,mais si je mets un chiffre la requete passe correctement.
A mon avis le probleme vient de l'auto increment.
Dans ce cas là oui, est ce que tu as bien définit dans ta base de données le premier champs en auto_increment ?
Si oui l'autoincrement est peut etre mal géré avec ton package, peux-tu en essayer un autre ?
Si oui l'autoincrement est peut etre mal géré avec ton package, peux-tu en essayer un autre ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Voici la derniere requete exécutée : insert into employes(id_emp,nom,poste) values('','freddy brandt', '')
Hors lorsque je consulte la base de donnée il ny a aucune entrée.