PHP|Débutant :: Forums

Advertisement

Besoin d'aide ? N'hésitez pas, mais respectez les règles

Vous n'êtes pas identifié(e).

#1 Re : MySQL, PostgreSQL, etc... » insertion de données » 20-08-2010 18:40:13

raaaaa enfin ^^ je te remercie ça va beaucoup mieux là du coup... j'avais pas vu que j'avais pas mis le bon nom tongue

#2 Re : MySQL, PostgreSQL, etc... » insertion de données » 20-08-2010 18:40:13

Bon alors j'ai déjà un petit progrés je viens d'aperçevoir que les guillemets n'étaient pas bon ^^ :

$sqlquery="INSERT INTO ingredients (Produits, Famille) VALUES('".$_GET['Produits']."', '".$_GET['idFamille_Ingredients']."')";

ça m'insére bien 2 renseignements mais ça me mets 0 à chaque fois pour l'idFamille_Ingrédients.... ce qui signifie qu'il ne GET pas du tout idFamille_Ingredients sur ma page précédente sad

#3 Re : MySQL, PostgreSQL, etc... » insertion de données » 20-08-2010 18:40:13

alors ça fonctionne pas ^^'

j'ai donc rajouté un "or die" pour savoir d'où vient l'erreur :

Notice: Undefined index: idFamille_Ingredients in C:\wamp\www\la cuisine de cecile\administration\ajout_ingredient_ok.php on line 4
Erreur SQL !
INSERT INTO ingredients (Produits, Famille) VALUES('Laitue, ')
Column count doesn't match value count at row 1

et donc il ne reconnait pas mon idFamille_Ingredients, ce qui n'est pas con vu qu'il n'est définie que dans la page précédente si je dis pas de connerie par contre il prends bien le champ que j'ai rempli (ici "laitue").

sinon row 1 c'est pas l'id de ma table à la base ? ou il considère dans mon problème que Produits est la première ligne ?

#4 Re : MySQL, PostgreSQL, etc... » insertion de données » 20-08-2010 18:40:13

donc si je comprends bien c'est la valeur qui doit être rentrée et non l'id ? si c'est bien ça, ça signifierais que ma table est mal agencée alors sad

#5 Re : MySQL, PostgreSQL, etc... » insertion de données » 20-08-2010 18:40:13

table famille_ingredients

idFamille_Ingredients (type int(10))(auto_increment)
Valeur (type : text)(null: non)

table ingredients

idIngredients (type int(10))(auto-increment)
Produits (type text) (null:non)
Famille (type int(10)) (null:non)

Famille=idFamille_Ingredients

#6 MySQL, PostgreSQL, etc... » insertion de données » 20-08-2010 18:40:13

riwalenn
Réponses : 9

Bonjour,

voila via le formulaire suivant :

<?php
  include ("connexion.php");
 
  $sqlquery='SELECT * FROM famille_ingredients ORDER BY idFamille_Ingredients';
  $results= mysql_query($sqlquery) or die('Erreur SQL !<br />'.$sqlquery.'<br />'.mysql_error());
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<head>
  <title>Ajouter un ingrédient !</title>
</head>
<body>
  <FORM NAME="a_ing" ACTION="ajout_ingredient_ok.php" METHOD="GET" enctype="multipart/form-data">
    <p class="adm_txtform">Choisir une famille d'ingrédients :</p>
     <SELECT name="famille_ingredients">
      <?php
        while ($row=mysql_fetch_array($results))
        {
      ?>
        <OPTION value="<?php echo $row['idFamille_Ingredients'] ;?>"><?php echo $row['Valeur']; ?></OPTION>
      <?php
        }
      ?>       
    </SELECT>

    <p class="adm_txtform">Ajouter un ingrédient :</p><INPUT TYPE="text" NAME="Produits" SIZE="30" MAXLENGTH="40" ;" class="adm_themboxes"><INPUT TYPE="submit" VALUE="Valider" name="valid" id="ok">
  </form>
</body>
</html>

j'affiche les données d'un champ de la table "famille_ingredients" au-dessus d'un champ texte où je dois insérer un élément de cette famille...

le problème étant que idFamille_Ingredients et Valeur ne se trouve pas dans la même table et je n'arrive pas à faire l'insert...

voici mon code :

<?php
include ("connexion.php");

$sqlquery="INSERT INTO ingredients (Produits, idFamille_Ingredients) VALUES('".$_GET['Produits'].", ".$_GET['idFamille_Ingredients']."');";


$results= mysql_query($sqlquery);
header ("location:ajout_ingredient.php");
?>

La table ingrédients est la table de destination et a la structure suivante :

Champs :
- idIngredients
- Produits (que j'implemante grâce au champ texte input)
- Famille (qui correspond à l'id idFamille_Ingredients)

voilà je ne sais pas comment introduire un id venant d'une autre table dont le champ n'a pas le même nom T_T

cordialement,
Riwalenn

Pied de page des forums

Propulsé par FluxBB