|
Publicité ' | ||||||||||||||||||||||||
|
|
#1 | ||
|
Membre confirmé
![]() Inscription : mars 2003 Messages : 674 ![]() |
Bonjour,
Une requete me renvoie 4 champs :Annee, Num, Debut, Fin Num est le n° de semaine, Debut est le jour du début de la semaine et Fin le jour de la fin de la semaine. Avec une boucle je crée un tableau dans lequel j'indique dans chaque cellule le 1er et le dernier jour de la semaine et je place un input type text. J'ai 2 problèmes sur lesquels je bute depuis un bon moment : 1) Je n'arrive pas à récupérer la valeur entrée dans les input text, 2) la 1ère ligne du tableau ne prend pas la hauteur que je défini. Note : je n'ai pas encore traité le cas des checkbox Code :
Merci d'avance pour l'aide |
||
|
|
00
|
|
|
#2 |
![]() ![]() Vincent Inscription : juillet 2005 Messages : 14 929 ![]() |
Tu n'as pas de champs qui s'appelle prix_semaine puisque tu as ajouté un numéro au bout.
Il vaut mieux utiliser une notation en tableau : et recuperer ainsi toutes les valeurs dans le tableau $_POST['prix_semaine'] Par ailleurs tes informations dans la table sont redondantes : avec une date de debut par exemple, tu retrouves le numero de la semaine et le dernier jour de la semaine. Tes méthodes de lecture de la base sont également inadaptés : il faut utiliser une boucle while et mysql_fetch_assoc comme indiqué dans la doc : http://php.net/manual/fr/function.mysql-fetch-assoc.php |
|
|
00
|
|
|
#3 | |||
|
Membre confirmé
![]() Inscription : mars 2003 Messages : 674 ![]() |
En prenant les choses dans l'ordre :
Citation:
Code :
J'ai pris cette solution préconisée par Antoun car j'ai plusieurs années dans ma table Pour la méthode de lecture de la base, la boucle for me permet de créer une nouvelle ligne tous les 4 enregistrements, mais je regarderai la méthode while. |
|||
|
|
00
|
|
|
#4 |
![]() ![]() Vincent Inscription : juillet 2005 Messages : 14 929 ![]() |
Pour parcourir un tableau, utilise foreach().
Pour debuguer le contenu d'un tableau, utilise var_dump() ou print_r() |
|
|
00
|
|
|
#5 |
|
Membre confirmé
![]() Inscription : mars 2003 Messages : 674 ![]() |
|
|
|
00
|
|
|
#6 |
![]() ![]() Vincent Inscription : juillet 2005 Messages : 14 929 ![]() |
Ca sert juste à debuguer :
|
|
|
00
|
|
|
#7 | ||||
|
Membre confirmé
![]() Inscription : mars 2003 Messages : 674 ![]() |
J'ai donc aplliqué var_dump() ici
Code :
j'ai saisi 300 et 15 dans chacun des input text et j'ai le message suivant : Code :
Il faudra aussi que je regarde la boucle foreach car je ne l'ai jamais utilisée. |
||||
|
|
00
|
|
|
#8 |
![]() ![]() Vincent Inscription : juillet 2005 Messages : 14 929 ![]() |
Je me repete : il faut utiliser foreach() pour parcourir un tableau.
|
|
|
00
|
|
|
#9 | ||
|
Membre confirmé
![]() Inscription : mars 2003 Messages : 674 ![]() |
J'ai utilisé foreach comme cela :
Code :
Code :
array(2) { [1]=> string(3) "300" [2]=> string(2) "15" } array(2) { [1]=> string(3) "300" [2]=> string(2) "15" } Je continue de chercher, mais la solution serait la bienvenue, d'autant que je n'ai pas encore attaqué les checkbox qui sont construits eux aussi avec une boucle. |
||
|
|
00
|
|
|
#10 |
![]() ![]() Vincent Inscription : juillet 2005 Messages : 14 929 ![]() |
Tu as un input qui vaut 300 et un input qui vaut 15.
|
|
|
00
|
|
|
#11 |
|
Membre confirmé
![]() Inscription : mars 2003 Messages : 674 ![]() |
Non les 2 ont 15 comme valeur, alors que j'ai entré 300 dans dans un et 15 dans l'autre.
|
|
|
00
|
|
|
#12 |
|
Membre émérite
![]() Développeur Inscription : août 2010 Messages : 586 ![]() |
slt,
pour la hauteur de ta 1ere ligne c'est du au fait que tu n'as pas de balise <tr> au debut, si tu regarde ton code tu verras que pour $i == 0 tu commences par <td>...voila pourquoi. Dans ta balise form, pour l'attribut method c'est "post" et pas "$_POST" qui est la variable (le tableau de variable...). |
|
|
00
|
|
|
#13 |
|
Membre émérite
![]() Développeur Inscription : août 2010 Messages : 586 ![]() |
de plus dans ta boucle foreach tu écrases la variable $semaine, tu ne récupèreras pas les données saisies dans chaque input de cette manière...
recrées un tableau pour les récupérer. |
|
|
00
|
|
|
#14 | |
|
Membre confirmé
![]() Inscription : mars 2003 Messages : 674 ![]() |
Citation:
Comme j'ai dis je n'ai jamais utilisé les input text avec des tableaux. Comment je recré un tableau pour récupérer les valeurs. |
|
|
|
00
|
|
|
#15 |
|
Membre émérite
![]() Développeur Inscription : août 2010 Messages : 586 ![]() |
dans ton input : value="$semaine[$id_semaine]" mais avant test son existence...
|
|
|
00
|
|
|
#16 |
|
Membre émérite
![]() Développeur Inscription : août 2010 Messages : 586 ![]() |
dans ton code, si j'ai bien compris : si le formulaire à été soumis, t'affiche les inputs avec les valeurs qui ont été saisis avant que le formulaire n'ait été soumis, c'est bien ca?
|
|
|
00
|
|
|
#17 |
|
Membre confirmé
![]() Inscription : mars 2003 Messages : 674 ![]() |
Comme j'ai fait plusieurs modifs depuis hier, je joins le fichier
Merci de regarder car à force j'ai les yeux qui se croisent |
|
|
00
|
|
|
#18 |
|
Membre émérite
![]() Développeur Inscription : août 2010 Messages : 586 ![]() |
juste pour savoir, la page que t'as joint s'appelle bien affiche_cal.php et la page qui traite le formulaire "action" est index.php?
il faut que tu m'aides à t'aider... si les deux pages sont différentes, la partie de code sur $_POST['prix_semaine'] et tout le reste ne sert a rien puisque c'est sur que $_POST n'existe pas... |
|
|
00
|
|
|
#19 | ||
|
Membre confirmé
![]() Inscription : mars 2003 Messages : 674 ![]() |
Dans la page index.php j'ai un menu qui contient :
Code :
Code :
<form name="semestre1" method="POST" action="index.php?page=acces"> |
||
|
|
00
|
|
|
#20 | ||
|
Membre confirmé
![]() Inscription : mars 2003 Messages : 674 ![]() |
D'abord merci du temps pris pour regarder.
Je viens de faire le test et voilà le résultat. Dès que j'arrive sur la page affiche_cal.php j'ai le message suivant : Code :
Code :
<input type='text' name='prix_semaine[$id_semaine]' value='$semaine[$id_semaine]' style='width:70px' class='input'> Malgré cela les valeurs saisies s'affichent bien après de la soumission. Par contre les cases cochées ne restent pas cochées. |
||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com