IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Ajout de données par formulaire


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité
    Invité(e)
    Par défaut Ajout de données par formulaire
    Bonjour,

    Je débute en php et j'aimerais réussir à faire un truc. Je m'explique. Mon site est un catalogue de produits. Dans le menu se trouve une liste de catégorie de produits (graveur, processeur, carte mère etc...) quand on clique sur une de ces catégories, on accède à la liste des produits de la catégorie en question (graveur 1, graveur 2 etc...).

    J'ai réussi à mettre en place une fonction me permettant d'ajouter des catégories et elle marche. Je suis donc en train d'essayer de faire pareil pour ajouter un produit. Le problème c'est que je n'arrive pas à récupérer l'id de la catégorie du produit à ajouter et donc ca ne veut pas s'ajouter dans la base, voici mon code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    ...
     
    //connexion à la base effectuée
     
    $query="select * from categorie;";
    $Rs = mysql_query($query,$bd);
     
    echo "Saisir le nouveau produit à ajouter:";
    echo "<br><br>";
    echo 'Nom du produit: <input type="text" name="nomproduit" size="20"><br><br>';
    echo 'Prix du produit: <input type="text" name="prixproduit" size="4"><br><br>';
    echo 'Description: <input type="text" name="infoproduit" size="25"><br><br>';
    echo 'Nom de la photo: <input type="text" name="photoproduit" size="20"><br><br>';
    echo 'Catégorie du produit: <select name="categorie" size="1">';
    while($Tab = mysql_fetch_array($Rs)){
     
    echo '<option value='.$Tab["idcat"].'>'.$Tab["libelle"].'</option>';
    }
    echo "</select>";
    echo '<form action="verifproduit.php" method="post">';
    echo '<p><input type="submit" value="Enregistrer"> <input type="reset" value="Annuler"></p>';
    echo '</form>';
    mysql_close($bd);
    ?>
    </body>
    </html>
    Ca envoie ensuite la vérification de ce que j'ai saisi dans une fonction verifproduit.php :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    ...
     
    //connexion à la base effectuée
    if (($_POST['nomproduit']=="") || ($_POST['idcat']=="") || ($_POST['prixproduit']=="") || ($_POST['infoproduit']=="") || ($_POST['photoproduit']=="")){
    echo "Attention, l'ajout a échoué!";
    }
    else
    $query="insert into produit values
    ('".$_POST['nomproduit']."','".$Tab['idcat']."','".$_POST['prixproduit']."','".$_POST['infoproduit']."','".$_POST['photoproduit']."');";
    if ($p = mysql_query($query,$bd))
    echo "Ajout correctement effectué";
    //else
    //echo "Attention, l'ajout a échoué!";
    mysql_close($bd);
    ?>
    </body>
    </html>
    Voilà, donc si vous pouviez m'aider.

  2. #2
    Membre expérimenté Avatar de romain_ci
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    262
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2007
    Messages : 262
    Par défaut
    Salut,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    ...
     
    //connexion à la base effectuée
    if (($_POST['nomproduit']=="") || ($_POST['idcat']=="") || ($_POST['prixproduit']=="") || ($_POST['infoproduit']=="") || ($_POST['photoproduit']=="")){
    echo "Attention, l'ajout a échoué!";
    }
    else
    $query="insert into produit values
    ('".$_POST['nomproduit']."','".$Tab['idcat']."','".$_POST['prixproduit']."','".$_POST['infoproduit']."','".$_POST['photoproduit']."');";
    if ($p = mysql_query($query,$bd))
    echo "Ajout correctement effectué";
    //else
    //echo "Attention, l'ajout a échoué!";
    mysql_close($bd);
    ?>
    </body>
    </html>
    $Tab['idcat']

    Remplace cela par

    $_POST['categorie'] l'id du select...

  3. #3
    Invité
    Invité(e)
    Par défaut
    Ca ne marche pas non plus

  4. #4
    Membre émérite
    Profil pro
    Inscrit en
    Août 2005
    Messages
    514
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 514
    Par défaut
    Bonjour,
    l'index "idcat" apparait plusieurs fois dans votre script :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    //connexion à la base effectuée
    if (($_POST['nomproduit']=="") || ($_POST['categorie']=="") || ($_POST['prixproduit']=="") || ($_POST['infoproduit']=="") || ($_POST['photoproduit']=="")){
    echo "Attention, l'ajout a échoué!";
    }
    Il faut toutes les modifier.

    Cordialement,
    DaRiaN.

  5. #5
    Invité
    Invité(e)
    Par défaut
    Ca me sert à contrôler si un champ n'est pas rempli, dans ce cas, on n'ajoute rien dans la base. Comment le modifier?

  6. #6
    Membre émérite
    Profil pro
    Inscrit en
    Août 2005
    Messages
    514
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 514
    Par défaut
    Vous ne voyez pas que je parlais de l'index "idcat" qui n'existe pas dans votre formulaire. A la place, il faut mettre "categorie".

Discussions similaires

  1. [MySQL] Modifier la base de données par formulaire
    Par nicolasSENAME dans le forum PHP & Base de données
    Réponses: 13
    Dernier message: 23/09/2008, 20h06
  2. Transmission de donnée par formulaire
    Par zoneech dans le forum Langage
    Réponses: 31
    Dernier message: 06/04/2008, 14h42
  3. [CSV] Acquisition de données par formulaire et CSV
    Par JoN28fr dans le forum Langage
    Réponses: 8
    Dernier message: 08/11/2007, 16h43
  4. Ajout dans table par formulaire
    Par Elendill dans le forum VBA Access
    Réponses: 5
    Dernier message: 25/05/2007, 19h49
  5. Forum en asp et ajout de données par visiteurs
    Par nawal59 dans le forum ASP
    Réponses: 2
    Dernier message: 10/05/2006, 00h02

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo