probleme recup champs option dans bbd - PHP - Programmation
Marsh Posté le 18-05-2006 à 09:36:50
disons qu'avec le code du formulaire (la partie avec le SELECT surtout) et le code d'insertion dans la BDD, ça pourrai peut être nous aider
Marsh Posté le 18-05-2006 à 09:59:21
hem pardon , ça c le formulaire :
Code :
|
mon champs dans la base de donné s'apelle 'fonction'
et voilà le code insertion dans la base
if (isset($_POST['fonction'])) {
INSERT INTO reponse (sexe, age, fonction)
}
ça marche, donc je récupère sexe , age et dans le champs fonction il ecrit 'Array'
Marsh Posté le 18-05-2006 à 10:20:44
$_POST['fonction'] est un tableau, c'est normal
les valeurs sélectionnées sont empilées dedans, faut faire un traitement pour les insérer dans ta base (foreach etc)
Marsh Posté le 18-05-2006 à 10:44:07
heiiinnn, hum tu veux dir au niveau du INSERT INTO (foreach(fonction) .... truc du genre??
:-)) bon je sais je vais chercher toute seule mais pas interdit de m'aider si ça vous branche!!!
Merci pour l'aide
Marsh Posté le 18-05-2006 à 11:05:27
je veux dire que faire un affichage d'un tableau donne toujours Array
y'a une grosse nuance entre afficher un tableau, et afficher un élément d'un tableau
ce que toi tu dois faire c'est extraire les éléments pour les insérer, à toi de voir comment on manipule les tableaux en php
Marsh Posté le 18-05-2006 à 11:21:45
hum, un debut d'aide :-((( ? nann
j'ai compris le probleme c déjà pas mal!
mon champs c'est name="fonction[]" ok!!
donc a priori ça devrait être foreach(fonction as je sais pas quoi :-(((
Marsh Posté le 18-05-2006 à 11:25:21
lis le manuel et regarde comment on manipule un tableau, c'est quelque chose qu'il faut impérativement connaitre
si tu fonce bêtement sur foreach, tu va juste faire quelque chose sans vraiment savoir, t'auras rien appris, et demain tu nous refais un autre topic
Marsh Posté le 18-05-2006 à 11:29:56
ouais mais c pas très claire. j'ai bien compris que foreach listait les valeurs d'un tableau tant qu'il y avait des valeurs mais il y a toujours une variable associé donc le fameux as kekchose et alors je vois pas trop d'ou ça sort moi et c pas claire niveau explication!! m'enfin j'essaye !!! encore un coup à sortir le champagne si ça marche :-))
Marsh Posté le 18-05-2006 à 11:37:17
Citation : |
c'est pas clair ?
pour chaque élément du tableau, ça l'assigne à $value
et si tu utilise AS $key => $value t'auras la clef d'assignée en plus
Marsh Posté le 18-05-2006 à 11:50:52
ok, je crois que j'ai compris donc par exemple je peux avoir
$fonction= foreach(fonction1 as $value)
si je comprend, $fonction aura comme valeur ce qu'il y a dans le tableau fonction1
Marsh Posté le 18-05-2006 à 11:52:53
mouais bon non c pas ça j'ai Parse error: parse error, unexpected T_FOREACH grrrrrrrrrrr
Marsh Posté le 18-05-2006 à 11:55:49
foreach ne retourne rien.. faire $fonction = foreach va rien donner
on va torcher ça en vitesse
admettons que trois options soient sélectionnées dans le menu déroulant, tu compte faire quoi des données ? tu vas tout insérer côte à côte dans le même champ de la table ?
pour l'instant ce que tu semble vouloir faire c'est d'enregistrer la chaine
"-- Coordination du projet Gestion theme" dans un champ, ça va vraiment t'aider d'avoir ça ?
Marsh Posté le 18-05-2006 à 11:59:47
non c sûr c pas tout beau!! disons que je me suis dit déjà apprendre à inserer les données dans la base c déjà un début, ça me gave pourtant ça a pas l'air si compliqué mais bon :-((
Marsh Posté le 18-05-2006 à 12:02:29
un champ select multiple peut renvoyer plusieurs valeurs mais si tu sais pas ce que tu vas en faire..
Marsh Posté le 18-05-2006 à 12:04:16
ok, foreach créé une variable avec les resultats donc c cette variable qui m'interresse si j'ai bien compris
Marsh Posté le 18-05-2006 à 12:04:48
oui, je sais ce que je vais en faire, disons que pour l'instant je met tout en vrac dans la base
Marsh Posté le 18-05-2006 à 12:06:27
foreach va assginer à $value (ou autre selon le nom que tu choisis) la valeur qui est dans le tabelau
ça va faire autant de passage dans la boucle qu'il y a d'éléments dans ton tableau, et à chaque fois, $value va prendre la nouvelle valeur (donc l'ancienne est perdue)
en même temps ça me semble prématuré de faire ça, tu devrais commencer par des trucs plus simples
Marsh Posté le 18-05-2006 à 12:16:12
oui, je me suis rendu compte que $value prenais qu'une valeur dommage!! je cherche. aah donc c compliqué finalement de vouloir enregistrer toutes la valeurs d'un tableau dans un champs de base je comprend pkoi je galère alors :-((
Marsh Posté le 18-05-2006 à 12:17:11
$value ne prend qu'une valeur à la fois, mais la variable est assignée X fois de suite
tu devrais reprendre à Hello World sérieux, les tableaux, les boucles, c'est vraiment la base
Marsh Posté le 18-05-2006 à 12:20:27
oui tu as raisons, je vais prendre du debut ça sera mieux!!!
merci 1000 fois pour ton aide
Marsh Posté le 18-05-2006 à 09:34:10
voila après maintes heures de traveaux, j'ai compris qu'il fallais definir un champs SELECT avec choix multiple comme ceci name='choix_multiple[]'
pour l'instant j'ai créé un $_POST['choix_multiple'] et dans ma base un champs ['choix'_multiple'] et il m'affiche dans ma base Array sans les valeurs sélectionné ???