Insert plusieurs valeurs

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Insert plusieurs valeurs

par albat » 30 nov. 2006, 15:44

Aaaaaah, compris !
On ne parlait pas de la même chose ! :roll:

En fait, la question de pixfacto mélange deux choses :
- l'utilisation d'un select autorisant plusieurs choix (attribut "multiple")
- l'utilisation de champs de type SET ou ENUM dans une BD

Pour ma part, j'ai répondu à la 2e sous-question.

Rappelons à toutes fins utiles que, pour recevoir une réponse appropriée,
une question se doit d'être posée clairement... ;)

par fred9999 » 30 nov. 2006, 14:48

Meme a 2 contre albat

je sais pas si on fait le poids :cry:

par Hermès » 30 nov. 2006, 14:32

il me semble que dans le cas d'une liste à choix multiples, tu récupères un tableau de valeurs.

par albat » 30 nov. 2006, 13:22

Le principe d'un champ de type enum est de proposer plusieurs valeurs,
mais une seule n'est finalement enregistrée dans la table.

exemple :
  • champ : civilité
  • type : enum
  • valeurs : ['monsieur', 'madame', 'mademoiselle']
Une seule des valeurs proposées (et aucune autre) pourra être enregistrée.

par jojolapine » 30 nov. 2006, 13:19

fait un print_r($_POST['jour1']);
tu comprendras ton erreur...

par pixfacto » 30 nov. 2006, 13:16

Il s'agit d'une insertion "classique" via un formulaire.

Dans mon formulaire j'ai un menu déroulant dans lequel je peux sélectionner plusieurs valeurs à la fois.
Je souhaite que les valeurs sélectionnées soit insérées dans le champ de ma table.

jour1 doit pouvoir avoir plusieurs valeurs.
 $insertSQL = sprintf("INSERT INTO event (id_event, jour1, mois1, annee1, jour2, mois2, annee2, titre, commentaire, lieu, lien, type) VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s)",
                       GetSQLValueString($_POST['id_event'], "int"),
                       GetSQLValueString($_POST['jour1'], "int"),
                       GetSQLValueString($_POST['mois1'], "text"),
                       GetSQLValueString($_POST['annee1'], "int"),
                       GetSQLValueString($_POST['jour2'], "int"),
                       GetSQLValueString($_POST['mois2'], "text"),
                       GetSQLValueString($_POST['annee2'], "int"),
                       GetSQLValueString($_POST['titre'], "text"),
                       GetSQLValueString($_POST['commentaire'], "text"),
                       GetSQLValueString($_POST['lieu'], "text"),
                       GetSQLValueString($_POST['lien'], "text"),
                       GetSQLValueString($_POST['type'], "int"));
formulaire :

Code : Tout sélectionner

<select name="jour1" size="4" multiple="multiple" id="jour1"> <option value="1" selected="selected">1</option> <option value="2">2</option> ...
Merci

par jojolapine » 30 nov. 2006, 13:00

le sliste à choix multiples, servent à remplir plusieurs champs, ou alors des champs de types text, où les valeurs sont mises bout à bout.

par fred9999 » 30 nov. 2006, 12:57

tu es sur albat ???
Dans ce cas pkoi créer des listes à choix multiples???

Pensant que tu as rarement tort ... albator :lol:
je sais pas trop.

par albat » 30 nov. 2006, 12:53

C'est un problème de modélisation.
Chaque champ d'un enregistrement ne peut acueillir qu'une seule valeur.

par fred9999 » 30 nov. 2006, 12:52

la question serai plutot sous quel format ta valeur est envoyé non??

car ta valeur est renvoyé sous forme de tableau

Code : Tout sélectionner

//code php $i = 0; while ($_POST["recherchecd"][$i]) { echo $_POST["recherchecd"][$i]; $i++; }

Re: Insert plusieurs valeurs

par Rei Itchido » 30 nov. 2006, 12:47

Que dois-je faire?
Merci
Reposer ta question en étant plus clair et en mettant un minimum de code :?

Insert plusieurs valeurs

par pixfacto » 30 nov. 2006, 12:39

Bonjour,

C'est assez bête, mais je n'arrive pas à insérer plusieurs valeurs d'un menu déroulant multiple dans le champ de ma table.

Une seule valeur s'insère.

J'ai essayé avec SET et ENUM...

Que dois-je faire?

Merci