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 :

insérer données en bdd choix table par balise select [SQL-Server]


Sujet :

PHP & Base de données

  1. #1
    Futur Membre du Club
    Inscrit en
    Février 2009
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 17
    Points : 6
    Points
    6
    Par défaut insérer données en bdd choix table par balise select
    Bonjour,
    cela fait deux ou trois jours que je tourne en rond dans tous les coins du site, je buggue ...

    je cherche à entrer des articles dans une bdd par un formulaire ou j'ai un select qui me permet de choisir dans quelle table entrer les données.
    tables (accessoires,bijoux,gants,echarpes,bois)

    voilà, mes tables ont les meme champs
    champs de chaque table(id,nom,description,prix,img,date)

    je n'arrive pas à entrer dans la seule table voulue les valeurs de chaque champs.. Pour l'instant, les données entrent dans toutes les tables ...

    voilà la partie de code formulaire :

    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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    <form action="form_ajout.php" method="GET">
     
    <span class="Texte">Catégorie :</span>
     
    <select name="choix" id="id" onChange="getarticles(this.value);">
                                     <option></option>
                                     <option value="1">Accessoires</option>
                                     <option value="2">Bijoux</option>
                                     <option value="3">Gants</option>
                                     <option value="4">Echarpes</option>
                                     <option value="5">Bois</option>
    </select>
     
     
    <span class="Texte">Nom :</span>
                                   <input type="text" name="nom" value="" />
     
     
    <span class="row"><span class="Texte">Description :</span>
                    <textarea name="description" rows="4" cols="25"></textarea>
                   		   </span>
     
    <span class="Texte">Prix :
                      <input type="text" name="prix" value="" /> €</span> 
     
     
        <form enctype="multipart/form-data">
          <input type="file" name="img">
       <input type="submit" value="Envoyer">
                </form>
     
     
     
    et la partie php :
     
     
    $id=$_GET['id'];
    $nom=$_GET['nom'];
    $description=$_GET['description'];
    $prix=$_GET['prix'];
    $img=$_GET['img'];
    $date=$_GET['date'];
     
    if( $choix["id"] == '1');
     
    {
    	$query="insert into accessoires values ('','$nom','$description','$prix','$img','$date')";
    	$result=mysql_query($query) or die (mysql_error());
    }
     
    if( $choix["id"] == '2');
     
    {
    	$query="insert into bijoux values ('','$nom','$description','$prix','$img','$date')";
    	$result=mysql_query($query) or die (mysql_error());
    }
     
    if( $choix["id"] == '3');
     
    {
    	$query="insert into gants values ('','$nom','$description','$prix','$img','$date')";
    	$result=mysql_query($query) or die (mysql_error());
    }
     
    if( $choix["id"] == '4');
     
    {
    	$query="insert into echarpes values ('','$nom','$description','$prix','$img','$date')";
    	$result=mysql_query($query) or die (mysql_error());
    }
     
     
    if( $choix["id"] == '5');
     
    {
    	$query="insert into bois values ('','$nom','$description','$prix','$img','$date')";
    	$result=mysql_query($query) or die (mysql_error());
    }
     
    if ($result) {
           echo "votre produit .'$id'. a bien été enregistré";
        }
    Si quelqu'un est dans le coin et prêt à me rendre un petit service, ça serait sympa ...
    merci beaucoup

  2. #2
    Membre émérite Avatar de Djakisback
    Profil pro
    Inscrit en
    Février 2005
    Messages
    2 021
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 2 021
    Points : 2 278
    Points
    2 278
    Par défaut
    Salut,
    si ton select s'appelle 'choix', tu peux récupérer l'id en faisant $_GET['choix'], d'où vient $choix["id"] ?
    D'autre part ton code est largement factorisable (ton modèle de données aussi) et contient des trous de sécu.
    Vive les roues en pierre

  3. #3
    Futur Membre du Club
    Inscrit en
    Février 2009
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 17
    Points : 6
    Points
    6
    Par défaut
    Merci Djakisback, de ta réponse ...
    je vais regarder cela de plus près un peu plus tard .. pas que cela à faire malheureusement...
    au plaisir de vous recontacter pour avancer sur ce projet .. car je sais que j'ai encore d'autres difficultés ...

  4. #4
    Futur Membre du Club
    Inscrit en
    Février 2009
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 17
    Points : 6
    Points
    6
    Par défaut
    j'ai fais un ou deux petits changements, tenté quelques variations mais j'ai toujours l'entrée dans toutes les tables ...
    alors comme me disait Djakisback, si je devais factoriser code et bdd je crois que ça serait encore un peu plus compliqué pour moi !
    partie html
    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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    <h2>Insertion des articles</h2>
                    <div class="general">
                         <form action="form_ajout.php" method="GET">
     
     
                                 <p><span class="Texte">Catégorie :</span>
     
                                     <select name="choix" id="id" onChange="getarticles(this.value);">
                                     <option></option>
                                     <option value="1">Accessoires</option>
                                     <option value="2">Bijoux</option>
                                     <option value="3">Gants</option>
                                     <option value="4">Echarpes</option>
                                     <option value="5">Bois</option>
                                   </select>
                                 </span>                  </p>
                                 <p><span class="Texte">Nom :</span>
     
                                   <input type="text" name="nom" value="" />
                                 </p>
     
                               <div class="row"><span class="Texte">Description :</span>
                                 <textarea name="description" rows="4" cols="25"></textarea>
                   		   </div>
     
                           <div class="row">
                                 <span class="Texte">Prix :
                                    <input type="text" name="prix" value="" /> €</span>
                       	   </div> 
     
     
     
    	<form enctype="multipart/form-data">
     
          <input type="file" name="img">
       <input type="submit" value="Envoyer">
                </form> 
                         </div>
    partie 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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    $id=$_GET["choix"];
    $nom=$_GET["nom"];
    $description=$_GET["description"];
    $prix=$_GET["prix"];
    $img=$_GET["img"];
    $date=$_GET["date"];
     
    if( $_GET["choix"] == '1');
     
    {
    	$query="insert into accessoires values ('','$nom','$description','$prix','$img','$date')";
    	$result=mysql_query($query) or die (mysql_error());
    }
     
    if( $_GET["choix"] == '2');
    {
    	$query="insert into bijoux values ('','$nom','$description','$prix','$img','$date')";
    	$result=mysql_query($query) or die (mysql_error());
    }
     
    if( $_GET["choix"] == '3');
    {
    	$query="insert into gants values ('','$nom','$description','$prix','$img','$date')";
    	$result=mysql_query($query) or die (mysql_error());
    }
     
    if( $_GET["choix"] == '4');
    {
    	$query="insert into echarpes values ('','$nom','$description','$prix','$img','$date')";
    	$result=mysql_query($query) or die (mysql_error());
    }
     
    if( $_GET["choix"] == '5');
    {
    	$query="insert into bois values ('','$nom','$description','$prix','$img','$date')";
    	$result=mysql_query($query) or die (mysql_error());
    }
     
    if ($result) {
           echo "votre produit .'$id'. a bien été enregistré";
        }
    ?>

    si quelqu'un passe par là et peut me guider alors merci

  5. #5
    Membre expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Points : 3 390
    Points
    3 390
    Par défaut
    Bonjour,

    Mis à part le onChange="getarticles(this.value); que je ne connais pas, pourquoi tu t'embêtes avec l'id, tu prends directement le nom comme value de chaque option ...
    Ex <option value="accessoires">Accessoires</option>
    Meuuh en AI à l'INRA
    Domaines: {java, php, js, jquery}{hibernate, doctrine}{MyLib, symfony, Zend}
    fait gagner du temps à ceux qui aident , donc un message avec la balise résolu laisse plus de temps pour résoudre d'autres problèmes (balise à cliquer en bas de l'écran)

  6. #6
    Futur Membre du Club
    Inscrit en
    Février 2009
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 17
    Points : 6
    Points
    6
    Par défaut
    Bonjour merci oui effectivement
    cela dit cela ne change en rien mon souci

    de plus en réponse j'ai bien "votre produit XXX a bien été enregistré" que si l'on sélectionne accessoires , si l on sélectionne autre chose, ça entre bien dans la bdd (mais ds ttes les tables à mon désespoir) mais j'ai un message d'erreur en fin de page qui dit:

    You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'oreilles','boucles en pierre','25','P1010560.JPG','')' at line 1
    mes codes sont désormais :
    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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    <form action="form_ajout.php" method="GET">
     
     
                                 <p><span class="Texte">Catégorie :</span>
     
                                     <select name="choix" id="id" onChange="getarticles(this.value);">
                                     <option></option>
                                     <option value="accessoires">Accessoires</option>
                                     <option value="bijoux">Bijoux</option>
                                     <option value="gants">Gants</option>
                                     <option value="echarpes">Echarpes</option>
                                     <option value="bois">Bois</option>
                                   </select>
                                 </span>                  </p>
                                 <p><span class="Texte">Nom :</span>
     
                                   <input type="text" name="nom" value="" />
                                 </p>
     
                               <div class="row"><span class="Texte">Description :</span>
                                 <textarea name="description" rows="4" cols="25"></textarea>
                   		   </div>
     
                           <div class="row">
                                 <span class="Texte">Prix :
                                    <input type="text" name="prix" value="" /> €</span>
                       	   </div> 
     
     
     
    	<form enctype="multipart/form-data">
     
          <input type="file" name="img">
       <input type="submit" value="Envoyer">
                </form>

    et :
    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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    $id=$_GET["choix"];
    $nom=$_GET["nom"];
    $description=$_GET["description"];
    $prix=$_GET["prix"];
    $img=$_GET["img"];
    $date=$_GET["date"];
     
    if( $_GET["choix"] == 'accessoires');
     
    {
    	$query="insert into accessoires values ('','$nom','$description','$prix','$img','$date')";
    	$result=mysql_query($query) or die (mysql_error());
    }
     
    if( $_GET["choix"] == 'bijoux');
    {
    	$query="insert into bijoux values ('','$nom','$description','$prix','$img','$date')";
    	$result=mysql_query($query) or die (mysql_error());
    }
     
    if( $_GET["choix"] == 'gants');
    {
    	$query="insert into gants values ('','$nom','$description','$prix','$img','$date')";
    	$result=mysql_query($query) or die (mysql_error());
    }
     
    if( $_GET["choix"] == 'echarpes');
    {
    	$query="insert into echarpes values ('','$nom','$description','$prix','$img','$date')";
    	$result=mysql_query($query) or die (mysql_error());
    }
     
    if( $_GET["choix"] == 'bois');
    {
    	$query="insert into bois values ('','$nom','$description','$prix','$img','$date')";
    	$result=mysql_query($query) or die (mysql_error());
    }
     
    if ($result) {
           echo "votre produit . '$id' . a bien été enregistré";
        }
    ?>
    </form>

    Merci ...

  7. #7
    Membre expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Points : 3 390
    Points
    3 390
    Par défaut
    En fait qd je te disais sans les l'id je pensais à faire une seule et unique requête genre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $query="insert into ".$_GET["choix"]." values ('','$nom','$description','$prix','$img','$date')";
    $result=mysql_query($query) or die (mysql_error());
    puisque que toutes tes tables ont les mêmes champs (d'ailleurs en parlant de ça, j'aurais regroupé toutes les tables en une avec un champ sur le type )

    Ensuite ton erreur c'est sur la $date qui ne doit pas être compatible avec le format de ta Bdd !

    A+
    Meuuh en AI à l'INRA
    Domaines: {java, php, js, jquery}{hibernate, doctrine}{MyLib, symfony, Zend}
    fait gagner du temps à ceux qui aident , donc un message avec la balise résolu laisse plus de temps pour résoudre d'autres problèmes (balise à cliquer en bas de l'écran)

  8. #8
    Futur Membre du Club
    Inscrit en
    Février 2009
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 17
    Points : 6
    Points
    6
    Par défaut
    Merci fench
    ça fonctionne bien .. pour le reste vais me pencher maintenant sur les dates d'enregistrement du produit , puis sur la photo , puis sur le panier , les commandes .. lol bref tu vois encore énooooooormement de taf ..
    merci encore ...

    je clique sur résolu ... @ bientôt peut-être dans une autre ... discussion ;-)

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [MySQL] Alimenter la balise SELECT par des données d'une bdd MySQL
    Par af.zakaria dans le forum PHP & Base de données
    Réponses: 12
    Dernier message: 12/04/2013, 04h12
  2. Réponses: 4
    Dernier message: 11/03/2012, 20h23
  3. [MySQL] insérer des enregistrements dans une table par lot
    Par dreamover dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 23/06/2009, 08h59
  4. problème au niveau choix de la balise select
    Par madmax57 dans le forum Langage
    Réponses: 6
    Dernier message: 17/07/2008, 16h04
  5. [FPDF] Insérer donnée de Bdd dans pdf
    Par godjojo dans le forum Bibliothèques et frameworks
    Réponses: 16
    Dernier message: 29/05/2007, 13h24

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