Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD > PHP & MySQL
PHP & MySQL Forum d'entraide sur les fonctions MySQL avec PHP. Avant de poster -> FAQ MySQL, Cours MySQL et Sources MySQL. Pour les questions concernant le moteur MySQL plutôt que les fonctions PHP, merci d'utiliser le forum MySQL.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 22/09/2011, 10h50   #1
Invité de passage
 
Homme
Développeur Java
Inscription : septembre 2011
Messages : 7
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Développeur Java
Secteur : Services à domicile

Informations forums :
Inscription : septembre 2011
Messages : 7
Points : 1
Points : 1
Par défaut concatenation des champs issus d un formulaire

Bonjour,
J'ai créé un formulaire à l'aide de jotform (qui est d'ailleurs un site très très bien en ce qui concerne les formulaires)
j'ai mis trois champs : pseudo mdp et date de naissance
et je voudrais recuperer les données collectées et les mettre sur ma base de données.
j'ai essayer avec les deux premiers champs ça marche nickel.
mais mon probleme est la date de naissance
sur mysql, la date est de la forme yyyy-mm-dd alors que sur le formulaire les trois chams sont séparés : q7_dateDe7[day] , q7_dateDe7[month] et q7_dateDe7[year]
alors c'est la que je bloque.
je n'arrive pas a les concatener en un seul champs avec le separateur '-'

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
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
 
<?php
include("fonctions2.php");
?>
<script src="http://max.jotfor.ms/min/g=jotform&3.0.1241" type="text/javascript"></script>
<script type="text/javascript">
   JotForm.init();
</script>
<link href="http://max.jotfor.ms/min/g=formCss&3.0.1241" rel="stylesheet" type="text/css" />
<style type="text/css">
    .form-label{
        width:150px !important;
    }
    .form-label-left{
        width:150px !important;
    }
    .form-line{
        padding:10px;
    }
    .form-label-right{
        width:150px !important;
    }
    .form-all{
        width:690px;
        color:Black !important;
        font-family:Verdana;
        font-size:12px;
    }
</style>
 
<form class="jotform-form" action="" method="post" name="" id="" accept-charset="utf-8">
  <input type="hidden" name="formID" value="" />
  <div class="form-all">
    <ul class="form-section">
      <li class="form-line" id="id_5">
        <label class="form-label-left" id="label_5" for="input_5"> pseudo </label>
        <div id="cid_5" class="form-input">
          <input type="text" class="form-textbox" id="input_5" name="q5_pseudo" size="20" />
        </div>
      </li>
      <li class="form-line" id="id_6">
        <label class="form-label-left" id="label_6" for="input_6"> pass </label>
        <div id="cid_6" class="form-input">
          <input type="text" class="form-textbox" id="input_6" name="q6_pass" size="20" />
        </div>
      </li>
      <li class="form-line" id="id_7">
        <label class="form-label-left" id="label_7" for="input_7"> Date de naissance </label>
        <div id="cid_7" class="form-input"><span class="form-sub-label-container"><select class="form-dropdown" name="q7_dateDe7[day]" id="input_7_day">
              <option>  </option>
              <option value="31"> 31 </option>
              <option value="30"> 30 </option>
              <option value="29"> 29 </option>
              <option value="28"> 28 </option>
              <option value="27"> 27 </option>
              <option value="26"> 26 </option>
              <option value="25"> 25 </option>
              <option value="24"> 24 </option>
              <option value="23"> 23 </option>
              <option value="22"> 22 </option>
              <option value="21"> 21 </option>
              <option value="20"> 20 </option>
              <option value="19"> 19 </option>
              <option value="18"> 18 </option>
              <option value="17"> 17 </option>
              <option value="16"> 16 </option>
              <option value="15"> 15 </option>
              <option value="14"> 14 </option>
              <option value="13"> 13 </option>
              <option value="12"> 12 </option>
              <option value="11"> 11 </option>
              <option value="10"> 10 </option>
              <option value="9"> 9 </option>
              <option value="8"> 8 </option>
              <option value="7"> 7 </option>
              <option value="6"> 6 </option>
              <option value="5"> 5 </option>
              <option value="4"> 4 </option>
              <option value="3"> 3 </option>
              <option value="2"> 2 </option>
              <option value="1"> 1 </option>
            </select>
            <label class="form-sub-label" for="input_7_day" id="sublabel_day"> Jour </label></span><span class="form-sub-label-container"><select class="form-dropdown" name="q7_dateDe7[month]" id="input_7_month">
              <option>  </option>
              <option value="Janvier"> Janvier </option>
              <option value="Février"> Février </option>
              <option value="Mars"> Mars </option>
              <option value="Avril"> Avril </option>
              <option value="Mai"> Mai </option>
              <option value="Juin"> Juin </option>
              <option value="Juillet"> Juillet </option>
              <option value="Août"> Août </option>
              <option value="Septembre"> Septembre </option>
              <option value="Octobre"> Octobre </option>
              <option value="Novembre"> Novembre </option>
              <option value="Décembre"> Décembre </option>
            </select>
            <label class="form-sub-label" for="input_7_month" id="sublabel_month"> Mois </label></span><span class="form-sub-label-container"><select class="form-dropdown" name="q7_dateDe7[year]" id="input_7_year">
              <option>  </option>
              <option value="2015"> 2015 </option>
              <option value="2014"> 2014 </option>
              <option value="2013"> 2013 </option>
              <option value="2012"> 2012 </option>
              <option value="2011"> 2011 </option>
              <option value="2010"> 2010 </option>
              <option value="2009"> 2009 </option>
              <option value="2008"> 2008 </option>
              <option value="2007"> 2007 </option>
              <option value="2006"> 2006 </option>
              <option value="2005"> 2005 </option>
              <option value="2004"> 2004 </option>
              <option value="2003"> 2003 </option>
              <option value="2002"> 2002 </option>
              <option value="2001"> 2001 </option>
              <option value="2000"> 2000 </option>
              <option value="1999"> 1999 </option>
              <option value="1998"> 1998 </option>
              <option value="1997"> 1997 </option>
              <option value="1996"> 1996 </option>
              <option value="1995"> 1995 </option>
              <option value="1994"> 1994 </option>
              <option value="1993"> 1993 </option>
              <option value="1992"> 1992 </option>
              <option value="1991"> 1991 </option>
              <option value="1990"> 1990 </option>
              <option value="1989"> 1989 </option>
              <option value="1988"> 1988 </option>
              <option value="1987"> 1987 </option>
              <option value="1986"> 1986 </option>
              <option value="1985"> 1985 </option>
              <option value="1984"> 1984 </option>
              <option value="1983"> 1983 </option>
              <option value="1982"> 1982 </option>
              <option value="1981"> 1981 </option>
              <option value="1980"> 1980 </option>
              <option value="1979"> 1979 </option>
              <option value="1978"> 1978 </option>
              <option value="1977"> 1977 </option>
              <option value="1976"> 1976 </option>
              <option value="1975"> 1975 </option>
              <option value="1974"> 1974 </option>
              <option value="1973"> 1973 </option>
              <option value="1972"> 1972 </option>
              <option value="1971"> 1971 </option>
              <option value="1970"> 1970 </option>
              <option value="1969"> 1969 </option>
              <option value="1968"> 1968 </option>
              <option value="1967"> 1967 </option>
              <option value="1966"> 1966 </option>
              <option value="1965"> 1965 </option>
              <option value="1964"> 1964 </option>
              <option value="1963"> 1963 </option>
              <option value="1962"> 1962 </option>
              <option value="1961"> 1961 </option>
              <option value="1960"> 1960 </option>
              <option value="1959"> 1959 </option>
              <option value="1958"> 1958 </option>
              <option value="1957"> 1957 </option>
              <option value="1956"> 1956 </option>
              <option value="1955"> 1955 </option>
              <option value="1954"> 1954 </option>
              <option value="1953"> 1953 </option>
              <option value="1952"> 1952 </option>
              <option value="1951"> 1951 </option>
              <option value="1950"> 1950 </option>
              <option value="1949"> 1949 </option>
              <option value="1948"> 1948 </option>
              <option value="1947"> 1947 </option>
              <option value="1946"> 1946 </option>
              <option value="1945"> 1945 </option>
              <option value="1944"> 1944 </option>
              <option value="1943"> 1943 </option>
              <option value="1942"> 1942 </option>
              <option value="1941"> 1941 </option>
              <option value="1940"> 1940 </option>
              <option value="1939"> 1939 </option>
              <option value="1938"> 1938 </option>
              <option value="1937"> 1937 </option>
              <option value="1936"> 1936 </option>
              <option value="1935"> 1935 </option>
              <option value="1934"> 1934 </option>
              <option value="1933"> 1933 </option>
              <option value="1932"> 1932 </option>
              <option value="1931"> 1931 </option>
              <option value="1930"> 1930 </option>
              <option value="1929"> 1929 </option>
              <option value="1928"> 1928 </option>
              <option value="1927"> 1927 </option>
              <option value="1926"> 1926 </option>
              <option value="1925"> 1925 </option>
              <option value="1924"> 1924 </option>
              <option value="1923"> 1923 </option>
              <option value="1922"> 1922 </option>
              <option value="1921"> 1921 </option>
              <option value="1920"> 1920 </option>
            </select>
            <label class="form-sub-label" for="input_7_year" id="sublabel_year"> Année </label></span>
        </div>
      </li>
      <li class="form-line" id="id_4">
        <div id="cid_4" class="form-input-wide">
          <div style="text-align:center" class="form-buttons-wrapper">
            <button id="input_4" type="submit" name="valider" class="form-submit-button">
              valider
            </button>
          </div>
        </div>
      </li>
      <li style="display:none">
        Should be Empty:
        <input type="text" name="website" value="" />
      </li>
    </ul>
  </div>
  <input type="hidden" id="simple_spc" name="simple_spc" value=" " />
  <script type="text/javascript">
  document.getElementById("si" + "mple" + "_spc").value = "- ";
  </script>
</form>
<?php
        if (isset ($_POST['valider'])){
            //On récupère les valeurs entrées par l'utilisateur :
            $pseudo=$_POST['q5_pseudo'];
            $pass=$_POST['q6_pass'];
            //On se connecte
            connectMaBase();
 
            //On prépare la commande sql d'insertion
            $sql = 'INSERT INTO Abonne VALUES("","'.$q5_pseudo.'","'.$q6_pass.'")';
 
            /*on lance la commande (mysql_query) et au cas où,
            on rédige un petit message d'erreur si la requête ne passe pas (or die)
            (Message qui intègrera les causes d'erreur sql)*/
            mysql_query ($sql) or die ('Erreur SQL !'.$sql.'<br />'.mysql_error());
 
            // on ferme la connexion
            mysql_close();
        }
        ?>
j'ai essayé d'ajouter une nouvelle constante surlaquelle je fais la concatennationn mais ça n'a pas marché
Code :
1
2
3
 
update Abonne
set Daten = CONCAT(q7_dateDe7[year], ' - ', q7_dateDe7[month], ' - ', q7_dateDe7[day]);
et meme avec
Code :
1
2
3
 
update Abonne
set Daten = CONCAT("'.q7_dateDe7[year].'", ' - ', "'.q7_dateDe7[month].'", ' - ', "'.q7_dateDe7[day].'");
et aussi
Code :
1
2
3
 
update Abonne
set Daten = CONCAT($_POST['q7_dateDe7[year]'],$_POST['q7_dateDe7[month]'],$_POST['q7_dateDe7[day]']);
en sachant que j'ai fait toutes les modifications necessaires sur le code (test...)
mais ça n'a pas marché, je reçois tjrs une erreur.
j'espere que j'etais assez clair
et merci d'avance
alone06 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/09/2011, 18h18   #2
Modérateur
 
Avatar de Benjamin Delespierre
 
Benjamin Delespierre
Développeur Web
Inscription : février 2010
Messages : 2 988
Détails du profil
Informations personnelles :
Nom : Benjamin Delespierre
Âge : 24
Localisation : France

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : février 2010
Messages : 2 988
Points : 5 022
Points : 5 022
Heu...

Code :
1
2
3
$date = $_POST['q7_dateDe7']['year'] . '-' . $_POST['q7_dateDe7']['month'] . '-' $_POST['q7_dateDe7']['day'];
$date = mysql_real_escape_string($date);
$query = "UPDATE Abonne SET `xxx`='$date' WHERE `yyy`='zzz'";
?
__________________
A la recherche d'un framework MVC facile a prendre en main ? Essayez Axiom
Nouveau: la référence d'Axiom est disponible sur GitHub (je la peaufine en ce moment même).

Un problème correctement identifié est à moitié résolu, évitez de poster l'intégralité de votre code avec pour seule explication "ça ne marche pas...".
Pour identifier correctement vos problèmes PHP, utilisez la gestion des erreurs et xdebug.

Les boutons et existent, servez-vous en
Benjamin Delespierre est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/09/2011, 01h30   #3
Invité de passage
 
Homme
Développeur Java
Inscription : septembre 2011
Messages : 7
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Développeur Java
Secteur : Services à domicile

Informations forums :
Inscription : septembre 2011
Messages : 7
Points : 1
Points : 1
Merci Benjamin
mais je voudrais savoir 2 choses
est ce que tu es sur que c'est
Code :
$_POST['q7_dateDe7']['year']
et non pas
Code :
$_POST['q7_dateDe7[year]']
la 2eme chose
a quoi correspond xxx, yyy et zzz car j'arrive pas a te suivre la.
une derniere chose
je doit mettre la requete
Code :
1
2
 
$query = "UPDATE Abonne SET `xxx`='$date' WHERE `yyy`='zzz'";
avant la ligne de ma requete principale
Code :
1
2
 
$sql = 'INSERT INTO Abonne VALUES("","'.$q5_pseudo.'","'.$q6_pass.'")';
c'est ça?
alone06 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/09/2011, 10h31   #4
Modérateur
 
Avatar de Benjamin Delespierre
 
Benjamin Delespierre
Développeur Web
Inscription : février 2010
Messages : 2 988
Détails du profil
Informations personnelles :
Nom : Benjamin Delespierre
Âge : 24
Localisation : France

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : février 2010
Messages : 2 988
Points : 5 022
Points : 5 022
Citation:
Merci Benjamin
mais je voudrais savoir 2 choses
est ce que tu es sur que c'est
Code :
$_POST['q7_dateDe7']['year']

et non pas
Code :
$_POST['q7_dateDe7[year]']
Fais un var_dump($_POST) et tu verras

Citation:
a quoi correspond xxx, yyy et zzz car j'arrive pas a te suivre la.
xxx et yyy sont des noms de champs et zzz une valeur. Remarque: si tu fais un update sans discrimination (clause WHERE) c'est tous les tuples (lignes) de la table qui seront affectés. Il vaut mieux spécifier à quel ID cette modification se réfère non ?

Enfin, je pense qu'avant de faire un patchwork de script réccupérés à droite à gauche sur internet tu devrais lire cet article.
__________________
A la recherche d'un framework MVC facile a prendre en main ? Essayez Axiom
Nouveau: la référence d'Axiom est disponible sur GitHub (je la peaufine en ce moment même).

Un problème correctement identifié est à moitié résolu, évitez de poster l'intégralité de votre code avec pour seule explication "ça ne marche pas...".
Pour identifier correctement vos problèmes PHP, utilisez la gestion des erreurs et xdebug.

Les boutons et existent, servez-vous en
Benjamin Delespierre est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/09/2011, 12h01   #5
Invité de passage
 
Homme
Développeur Java
Inscription : septembre 2011
Messages : 7
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Développeur Java
Secteur : Services à domicile

Informations forums :
Inscription : septembre 2011
Messages : 7
Points : 1
Points : 1
merci pouur ta reponse
je sais que sans la clause where l'update se fait sur tous le tableau
Citation:
Enfin, je pense qu'avant de faire un patchwork de script réccupérés à droite à gauche sur internet tu devrais lire cet article.
je ne l'ai pas récupéré adroite et a gauche sur internet
je crois que j'ai bien précisé que ça vient de jotform mais le probleme est que je ne peux pas le changer (raison du TP oblige)
et merci encore pour le lien meme si, croyez moi, je l'ai deja passé en entier avec ls TPs aussi avant de poster mon probleme, je trouve qu il est tres bien mais y a pas ce que jecherche dessus
alone06 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/09/2011, 12h06   #6
Invité de passage
 
Homme
Développeur Java
Inscription : septembre 2011
Messages : 7
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Développeur Java
Secteur : Services à domicile

Informations forums :
Inscription : septembre 2011
Messages : 7
Points : 1
Points : 1
Je sens que je suis tres proche de ce que je cherche mais j'arrive pas a voir l'erreur que j'ai faite
c'es pour ça que j'ai posté le code
alone06 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/09/2011, 11h53   #7
Invité de passage
 
Homme
Développeur Java
Inscription : septembre 2011
Messages : 7
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Développeur Java
Secteur : Services à domicile

Informations forums :
Inscription : septembre 2011
Messages : 7
Points : 1
Points : 1
voila le resultat de var dump
Code :
1
2
 
array(7) { ["formID"]=> string(0) "" ["q5_pseudo"]=> string(5) "rtnyu" ["q6_pass"]=> string(6) "njrrnu" ["q7_dateDe7"]=> array(3) { ["day"]=> string(2) "13" ["month"]=> string(3) "Mai" ["year"]=> string(4) "1993" } ["valider"]=> string(7) "valider" ["website"]=> string(0) "" ["simple_spc"]=> string(2) "- " }
alors je m'aperçois qu les valeurs que je veux concatener sont stockees dns un tableau
alone06 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/09/2011, 12h09   #8
Modérateur
 
Avatar de Benjamin Delespierre
 
Benjamin Delespierre
Développeur Web
Inscription : février 2010
Messages : 2 988
Détails du profil
Informations personnelles :
Nom : Benjamin Delespierre
Âge : 24
Localisation : France

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : février 2010
Messages : 2 988
Points : 5 022
Points : 5 022
Effectivement, maintenant regarde la requête que je t'avais proposé plus tôt.

Maintenant tu as tout ce qu'il te faut pour résoudre ce problème.
__________________
A la recherche d'un framework MVC facile a prendre en main ? Essayez Axiom
Nouveau: la référence d'Axiom est disponible sur GitHub (je la peaufine en ce moment même).

Un problème correctement identifié est à moitié résolu, évitez de poster l'intégralité de votre code avec pour seule explication "ça ne marche pas...".
Pour identifier correctement vos problèmes PHP, utilisez la gestion des erreurs et xdebug.

Les boutons et existent, servez-vous en
Benjamin Delespierre est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/09/2011, 13h02   #9
Invité de passage
 
Homme
Développeur Java
Inscription : septembre 2011
Messages : 7
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Développeur Java
Secteur : Services à domicile

Informations forums :
Inscription : septembre 2011
Messages : 7
Points : 1
Points : 1
c'est bon j'ai trouvé
merci comme meme
alone06 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/09/2011, 13h18   #10
Modérateur
 
Avatar de Benjamin Delespierre
 
Benjamin Delespierre
Développeur Web
Inscription : février 2010
Messages : 2 988
Détails du profil
Informations personnelles :
Nom : Benjamin Delespierre
Âge : 24
Localisation : France

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : février 2010
Messages : 2 988
Points : 5 022
Points : 5 022
Tu veux bien poster la solution au cas où ça pourrait servir à quelqu'un d'autre ?
__________________
A la recherche d'un framework MVC facile a prendre en main ? Essayez Axiom
Nouveau: la référence d'Axiom est disponible sur GitHub (je la peaufine en ce moment même).

Un problème correctement identifié est à moitié résolu, évitez de poster l'intégralité de votre code avec pour seule explication "ça ne marche pas...".
Pour identifier correctement vos problèmes PHP, utilisez la gestion des erreurs et xdebug.

Les boutons et existent, servez-vous en
Benjamin Delespierre est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/09/2011, 13h56   #11
Invité de passage
 
Homme
Développeur Java
Inscription : septembre 2011
Messages : 7
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Développeur Java
Secteur : Services à domicile

Informations forums :
Inscription : septembre 2011
Messages : 7
Points : 1
Points : 1
j'ai un peu triché lol.
j'ai pas cherché a le savoir.
j'ai modifié le code, au lieu de stocker les variables yy mm dd dans un tableau je les ai stockées ds de simples variables int.

Ensuite j'ai fait:
Code :
1
2
 
$sql = 'INSERT INTO Abonne VALUES("","'.$pseudo.'","'.$pass.'","'.$y.'-'.$m.'-'.$d.'",)';
Tout simplement
alone06 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 17h36.


 
 
 
 
Partenaires

Hébergement Web