|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||
|
Invité de passage
![]() Inscription : août 2011 Messages : 9 ![]() |
Bonjour à tous ,
Je vous explique mon souci , je débute en php et j'ai un tableau contenant plusieurs variables . Les 5 premières colonnes contiennent des variables directement récupérées dans ma base de données, jusque la pas de souci La ou ça se complique c concernant les 2 dernières colonnes , l'avant dernière contient un input de type bouton radio j'arrive a récupère la valeur de mon bouton si coché et à la faire s'enregistrer dans la base de données mais impossible le de faire de même pour la dernière colonne. La dernière colonne contient un input de type text , et je voudrais réussir à enregistrer la valeur saisie dans le champ dans la BDD au changement de page. J'utilise la method post dans mon formulaire et sur la page de destination récupère mes variables post et les déclarent en variable de session mais ça coince ^^ Je vous copie colle mon formulaire en method post et les lignes de la page suivante pour enregistrer et afficher les valeurs. Code :
Code :
|
||||
|
|
00
|
|
|
#2 | |||||
![]() ![]() |
Bonjour,
ps : - toutes les balises html s'écrivent en minuscules. - les input, br (et img) sont fermantes (<.../>): Code :
- une bonne indentation du code est recommandée (pour : lisibilité, maintenance, débogage du code) - il faut absolument proteger la BdD des injections sql ! -> mysql_real_escape_string()Autant prendre de "bonnes habitudes" tout de suite : Citation:
Code :
__________________
"Ce qui se conçoit bien s'énonce clairement - Et les mots pour le dire arrivent aisément." Nicolas Boileau-Despréaux, Homme de lettres français (1636-1711), principal théoricien de l'esthétique classique. Site perso Mes tutos DVP : Gestion-Affichage de Nouvelles - Affichage en tableau HTML - Fonctions de redimensionnement d'images
|
|||||
|
|
00
|
|
|
#3 |
|
Membre régulier
![]() Étudiant Inscription : octobre 2010 Messages : 92 ![]() |
Code illisible, puis merci d'utiliser les balises [ CODE][/CODE ] si tu veux un debug.
|
|
|
00
|
|
|
#4 | ||||
![]() ![]() |
Code :
Ca ira mieux comme ca : Code :
Code :
$sql2 = "INSERT INTO fusion (annotation) VALUES ('".mysql_real_escape_string($_SESSION['annotation'])."');";
__________________
"Ce qui se conçoit bien s'énonce clairement - Et les mots pour le dire arrivent aisément." Nicolas Boileau-Despréaux, Homme de lettres français (1636-1711), principal théoricien de l'esthétique classique. Site perso Mes tutos DVP : Gestion-Affichage de Nouvelles - Affichage en tableau HTML - Fonctions de redimensionnement d'images
|
||||
|
|
00
|
|
|
#5 | ||
|
Invité de passage
![]() Inscription : août 2011 Messages : 9 ![]() |
Tout d'abord merci pour vos réponses et désolé pour la présentation, je vais faire un effort.
Code :
Dans mon tableau sur la page précédente je me retrouve donc avec une colonne entière d'input type text mais je ne veux récupérer que la valeur du champ qui est rempli ( celui à côté du bouton radio modifié qui sera coché , le but étant ici de mettre une tâche effectué en traitée : oui et de mettre une annotation sur la manière dont le problème a été résolu). Je précise que je suis sur un réseau intranet . |
||
|
|
00
|
|
|
#6 | ||
|
Membre régulier
![]() Étudiant Inscription : octobre 2010 Messages : 92 ![]() |
Est-ce que tes variables ne sont pas vides lorsque tu les récupères/affectes ?
Code :
|
||
|
|
00
|
|
|
#7 |
|
Invité de passage
![]() Inscription : août 2011 Messages : 9 ![]() |
effectivement , elles restent vide même si je rempli le champ annotation dans mon tableau.
Je ne comprends pas |
|
|
00
|
|
|
#8 | ||||||
![]() ![]() |
J'ai vu le problème !
Il faut identifier tes input pour chaque ligne du tableau (sinon, il ne prend que le dernier) : name="modif[]" et name="annotation[]" Pour chaque enregistrement (ligne), tu dois sûrement avoir un id (int, auto-increment) : => on va mettre cet id comme indice des array modif[] et annotation[] : Code :
Code :
Code :
__________________
"Ce qui se conçoit bien s'énonce clairement - Et les mots pour le dire arrivent aisément." Nicolas Boileau-Despréaux, Homme de lettres français (1636-1711), principal théoricien de l'esthétique classique. Site perso Mes tutos DVP : Gestion-Affichage de Nouvelles - Affichage en tableau HTML - Fonctions de redimensionnement d'images
|
||||||
|
|
00
|
|
|
#9 | ||
![]() ![]() |
Et si j'ai bien compris : ce n'est pas une requete INSERT que tu dois faire.
Mais une requete UPDATE pour chaque ligne ! Code :
__________________
"Ce qui se conçoit bien s'énonce clairement - Et les mots pour le dire arrivent aisément." Nicolas Boileau-Despréaux, Homme de lettres français (1636-1711), principal théoricien de l'esthétique classique. Site perso Mes tutos DVP : Gestion-Affichage de Nouvelles - Affichage en tableau HTML - Fonctions de redimensionnement d'images
|
||
|
|
00
|
|
|
#10 | ||||
|
Invité de passage
![]() Inscription : août 2011 Messages : 9 ![]() |
Tout d'abord un grand merci , je comprends le principe de parcourir chaque élément un par un et effectivement cela parait très utile.
Cependant dans ma base l'id c nmr (pour numéro) , je dois donc remplacer id par nmr dans mon cas c'et bien cela? De plus en mettant nmr a la place de id pour numéroter mes array J'obtiens comme rentrée dans mes bases : Array pour chaque annotation. Voila ce que j'ai mis sur la première page Code :
Code :
D'avance merci. |
||||
|
|
00
|
|
|
#11 | ||||||
![]() ![]() |
Moi aussi, j'ai eu du mal avec foreach($blabla as $key => $val) ....
Remplace : Code :
Code :
ps : Si tu veux voir à quoi ressemble l'array (couples [indice] => valeur), affiche : Code :
__________________
"Ce qui se conçoit bien s'énonce clairement - Et les mots pour le dire arrivent aisément." Nicolas Boileau-Despréaux, Homme de lettres français (1636-1711), principal théoricien de l'esthétique classique. Site perso Mes tutos DVP : Gestion-Affichage de Nouvelles - Affichage en tableau HTML - Fonctions de redimensionnement d'images
|
||||||
|
|
00
|
|
|
#12 | ||||
|
Invité de passage
![]() Inscription : août 2011 Messages : 9 ![]() |
si je fais cela :
Code :
Array ( [nmr; ?>] => test4 ) et si je fais ceci : Code :
Array ( [nmr; ?>] => oui ) oui correspondant bien a la valeur que je veux mettre si le bouton radio est coché et test4 étant la valeur mise dans le champ texte. Donc désolé de poster à nouveau mais ou est le souci ? |
||||
|
|
00
|
|
|
#13 | ||
![]() ![]() |
Tu ne vois pas comme un défaut ?
nmr; ?> -> on devrait avoir l'indice (un nombre entier) Manifestement, une erreur dans le code ... au niveau du formulaire Peux-tu remontrer le bout de code (tes 2 input) ? Ca devrait ressembler à ca : Code :
__________________
"Ce qui se conçoit bien s'énonce clairement - Et les mots pour le dire arrivent aisément." Nicolas Boileau-Despréaux, Homme de lettres français (1636-1711), principal théoricien de l'esthétique classique. Site perso Mes tutos DVP : Gestion-Affichage de Nouvelles - Affichage en tableau HTML - Fonctions de redimensionnement d'images
|
||
|
|
00
|
|
|
#14 |
|
Invité de passage
![]() Inscription : août 2011 Messages : 9 ![]() |
j'ai changé et j'ai mis ça à la place dans mon input :
Code :
<td><input type="radio" name="modif[<?php echo '.$ligne->nmr.'; ?>]" value="oui" /></td> Array ( [] => oui ) |
|
|
00
|
|
|
#15 | ||
![]() ![]() |
C'est sûr qu'en passant le code au shaker ... ca marche moins bien.
Il te suffit de copier-coller ceci (sans rien changer !) : Code :
__________________
"Ce qui se conçoit bien s'énonce clairement - Et les mots pour le dire arrivent aisément." Nicolas Boileau-Despréaux, Homme de lettres français (1636-1711), principal théoricien de l'esthétique classique. Site perso Mes tutos DVP : Gestion-Affichage de Nouvelles - Affichage en tableau HTML - Fonctions de redimensionnement d'images
|
||
|
|
00
|
|
|
#16 |
|
Invité de passage
![]() Inscription : août 2011 Messages : 9 ![]() |
j'ai rigoureusement copié collé vos 2 lignes et quand je teste le résultat est toujours le même à savoir :
Array ( [nmr; ?>] => oui ) |
|
|
00
|
|
|
#17 |
![]() ![]() |
Si tu ne nous mets pas ton code, on ne pourra pas te dire d'où vient l'erreur ...
__________________
"Ce qui se conçoit bien s'énonce clairement - Et les mots pour le dire arrivent aisément." Nicolas Boileau-Despréaux, Homme de lettres français (1636-1711), principal théoricien de l'esthétique classique. Site perso Mes tutos DVP : Gestion-Affichage de Nouvelles - Affichage en tableau HTML - Fonctions de redimensionnement d'images
|
|
|
00
|
|
|
#18 | ||||
|
Invité de passage
![]() Inscription : août 2011 Messages : 9 ![]() |
donc sur la première page j'ai ceci :
Code :
Code :
|
||||
|
|
00
|
|
|
#19 | ||||
![]() ![]() |
Regarde la couleur syntaxique des lignes 31 et 32 du 1er code ci-dessus :
ca devrait te mettre la puce à l'oreille ! On constate une différence dans les couleurs ! Le fait que tu as bien copié-collé les lignes (qui contiennent des echo) ... sauf que ... tu les as copiées à l'intérieur d'un autre echo ! Code php :
ps : je mettrais même (pour afficher les annotations déjà enregistrées) : Code php :
__________________
"Ce qui se conçoit bien s'énonce clairement - Et les mots pour le dire arrivent aisément." Nicolas Boileau-Despréaux, Homme de lettres français (1636-1711), principal théoricien de l'esthétique classique. Site perso Mes tutos DVP : Gestion-Affichage de Nouvelles - Affichage en tableau HTML - Fonctions de redimensionnement d'images
|
||||
|
|
00
|
|
|
#20 |
|
Invité de passage
![]() Inscription : août 2011 Messages : 9 ![]() |
Un grand merci à toi jreaux62 , effectivement cela venait bien de là.
Une autre erreur bête de copier coller me bloquait également , ligne 9 dans LA 2ième partie j'avais : Code :
$sql1 = "update fusion set effectue = = '".mysql_real_escape_string($val)."' WHERE nmr = '".intval($key)."';"; Code :
$sql1 = "update fusion set effectue = '".mysql_real_escape_string($val)."' WHERE nmr = '".intval($key)."';"; |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com