Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 8 sur 8
  1. #1
    Invité de passage
    Inscrit en
    février 2009
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : février 2009
    Messages : 17
    Points : 2
    Points
    2

    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 :
    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 Expert Avatar de Djakisback
    Inscrit en
    février 2005
    Messages
    1 971
    Détails du profil
    Informations forums :
    Inscription : février 2005
    Messages : 1 971
    Points : 1 926
    Points
    1 926

    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
    Invité de passage
    Inscrit en
    février 2009
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : février 2009
    Messages : 17
    Points : 2
    Points
    2

    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
    Invité de passage
    Inscrit en
    février 2009
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : février 2009
    Messages : 17
    Points : 2
    Points
    2

    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 :
    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 :
    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
    Expert Confirmé Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    mai 2002
    Messages
    2 346
    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 346
    Points : 2 924
    Points
    2 924

    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
    Invité de passage
    Inscrit en
    février 2009
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : février 2009
    Messages : 17
    Points : 2
    Points
    2

    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 :
    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 :
    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
    Expert Confirmé Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    mai 2002
    Messages
    2 346
    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 346
    Points : 2 924
    Points
    2 924

    Par défaut

    En fait qd je te disais sans les l'id je pensais à faire une seule et unique requête genre:
    Code :
    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
    Invité de passage
    Inscrit en
    février 2009
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : février 2009
    Messages : 17
    Points : 2
    Points
    2

    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.

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •