[PHP de noob] Tableau dynamique avec des opérations sur les cases dedans

Bonjour, bonsoir,

Alors voilà, j’ai un petit travail à rendre pour, hum, disons très bientôt qui consiste en, je vous balance l’énoncé un brin tordu:

[quote]Construisez une première page qui demandera à l’utilisateur deux chiffres X et Y. Il faut que ces chiffres soient compris entre 1 et 5.

Construisez une seconde page qui reprend ces deux chiffres et qui crée un tableau à deux dimensions, le nombre de lignes étant égal à X + 1 et le nombre de colonnes étant égal à Y + 1. Vous devez placer les chiffres de [2] à [X*2] (par pas de 2) dans les cellules A1 à AX et vous devez placer les chiffres de [10] à [10-Y+1] (par pas de -1) dans les cellules B1 à BY.
A\B B1 … BY
A1 … … …
… … … …
AX … … …

Par après, vous devrez créer une troisième page dans laquelle vous reprendrez ce même tableau (et tout ce qu’il contenait à la deuxième page) et dans laquelle vous effectuerez une opération sur Az et Bz pour obtenir le résultat AzBz (cfr ci-dessous). Pour ce faire, à la deuxième page, il faut demander au visiteur quelques précisions quant à cette opération. Pour chaque ligne, demandez au visiteur le montant (M) à placer en banque (A étant le nombre d’années et B le pourcentage --> AzBz = M*(1+(Bz/100))^Az. Ainsi, vous utiliserez ce que le visiteur a encodé au début de la ligne (à la deuxième page) pour chacune des cellules se trouvant sur cette ligne (à la troisième page).[/quote]

Bon, je n’ai aucun souci avec le formulaire, j’arrive a faire un tableau (je crois) avec le nombre de lignes/colonnes qu’il faut, mais je sais pas comment mettre les chiffres dans les cases de manière automatique et encore moins comment on rentre le reste des infos… Faut dire que le cours d’info chez nous se résume au prof qui nous montre comment il est supérieur à nous pendant deux heures semaine et aux tp avec des assistants aussi qualifiés en informatique que Faskil en cuisine traditionnelle moldave, pour le reste on doit se démerder.

Donc, mon code (pour la seconde page c’est ça:

[code]

Travail 2 <? PHP $X=$_get ["X"]; $Y=$_get ["Y"];
echo "<table id='table_grid'>";

for($i=0;$i<=$X+1;$i++)//Pour les lignes.
{
echo “

”;
for($j=0;$j<=$Y+1;$j++)//Pour les cellules.
{
echo “”;
}
echo “”;
}
echo “”;
?> [/code]

J’ai pensé à un moment de faire un array, mais au moment d’y rentrer les infos et de les recracher par la suite ça coince, help.

je veux bien t’aider mais franchement, je comprends pas l’enonce.

Les exos de php que je donne en cours sont plus facile a comprendre que ca, enfin je crois (meme s’il servent a rien, comme le tien :crying:)

LoneWolf
Y a des profs, faudrait les tuer… :slight_smile:

[quote=“LoneWolf, post:2, topic: 49566”]je veux bien t’aider mais franchement, je comprends pas l’enonce.

Les exos de php que je donne en cours sont plus facile a comprendre que ca, enfin je crois (meme s’il servent a rien, comme le tien :crying:)

LoneWolf
Y a des profs, faudrait les tuer… :)[/quote]
ouais, sincérement, je pige rien à l’enoncé…

j’ai compris qu’il fallait contruire un tableau. Ok super, quoi comme tableau ? un tableau php ? html ? de cariboux ?
Ensuite faut placer des chiffres dans le tableau. Bon, disons que le prof parlait d’un tableau html.

effacé

T1, sincerement, faut qu’il arrete de se branler ton prof. C’est incomprehensible et personne ne parle comme ca…

bon, ca doit etre à peu pres ca… c’est laissé à libre interpretation faut dire…

De ce qu’on a pu comprendre en s’y mettant à plusieurs: un gogo tape deux chiffres X et Y ce qui crée sur la deuxième page un tableau de X+1 lignes et de Y+1 colonnes où dans les cases le plus au dessus et le plus à gauche y a des chiffres qui sont préremplis. Le gogo rentre ensuite des chiffres dans les cellules vides, clique sur un bouton et a devant lui le même tableau mais avec des chiffres qui ont étés changés par la grosse formule. On doit utiliser nos connaissances en PHP et html pour faire ça. Le truc c’est que à part faire des opérations basiques et un peu de IF on a RIEN vu d’autre en php…

EDIT: merci

okkkkkkkkkkkkkkkkkkkkkkk

bon je refait, car là je t’ai remplit un tableau complet sans laisser de cases vides… (ce que tu avais fait toi aussi :crying:)

[code]<?php
$X=$_POST[« X »];
$Y=$_POST[« Y »];
$A = 2;
$B = 10;
echo «  »;
echo «  »;
//construction premiere ligne
echo «  »;
for($j=0;$j<$Y;$j++) { //avec la premiere colonne ca fait $Y+1;)
echo « "; //les chiffres B
$B–; //
}
echo «  »;

//contruction de tes lignes A

for($i=0;$i<$X;$i++) { //meme remarque, t’as deja ecris 1 ligne, donc on va de 0 à strictement inferieur à X (d’ou l’enoncé : faite un tableau de X+1 sur Y+1, le +1 c’est les entetes…)
echo « 

 »;
echo « "; //ta colonne A
$A=$A+2;
for($j=0;$j<$Y;$j++) { //et puis faut bien sur chaque ligne construire les autres cases
echo ""; // les cases vides donc :slight_smile:
}
echo «  »;
}
echo « 
A/B  ».$B."
 ».$A." je suis tout vide !!
 »;
?>[/code]

ensuite, j’imagine qu’il faut que tu fasses un deuxieme formulaire demandant une valeure M. Tu reconstruis ton tableau dans une 3eme page, en affichant dans chaque case la formule. C’est simple… t’as deja tout de fait (tips, regarde bien $A et $B dans mon code :))

Merci, je pense que je pourrai m’en sortir. Maintenant faut que j’identifie la bagnole du prof pour lui crever les pneus, mais j’ai ma méthode pour ça^^

Si j’ai bien compris l’énoncé (cf ma derniere remarque), j’ai volontairement enlevé la solution de la troisieme page. A toi de chercher et de comprendre mon code (pas testé, fait on the fly, ptet oublié un ; par ci par là);

Juste une dernière chose, j’ai remplacé “Je suis tout vide” par une autre variable $N qui est égale à la formule et j’obtiens du vide, je crois que ça récupère pas les X et Y de la première page.

zavez pas vu la difference entre passage par « get » et par « post » ? bon… remplace _POST par _GET alors…

et puis dans ta troisieme page faut repasser tes valeurs X et Y via ton formulaire de ta 2eme page qui demande la valeure M

et puis maintenant, debrouille toi, je t’ai fait ton exo là :slight_smile:

Et je t’en remercie :slight_smile: