|
Posted by Mathieu on 01/05/07 02:18
merci Zorro,
je vais essayer ta solution ds que je pourrais
l il est un peu tard, j'ai dj bien travaill, mais j'ai un autre petit
problme de formulaire encore...
Le but (atteint) c'est d'afficher pour chaque mois du pass le bilan
comptable. J'ai utilis $row["sum(montant)"], et tout va bien. Les noms des
mois et des annes sont affichs dans un tableau avec les sommes.
Seulement voil sur chaque ligne j'ai plac un bouton qui devrait permettre
d'ouvrir une page php avec les oprations du mois correspondant. $filtre est
une variable qui est employe dans un switch de affichagetransactions.php:
case=3 qui est employ ici, a devrait afficher les oprations du mois en
cours.
Voil, alors le problme c'est que quand ce sont des donnes d'une base
mysql qui sont affichs, des commandes du type
<input type=hidden name=lieu value=<?echo $row["lieu"]?>> a permet bien de
renvoyer le lieu de la ligne.
Mais ici
<input type=hidden name=moisetude value=<?echo $moisetude?>>, a va renvoyer
la valeur de moisetude pour la dernire ligne... donc problme...
Alors, en fait, je suis parti du mois courant, et aprs avec la commande
date("Y",mktime(0,0,0,$moisetude ,0,$anneeetude) chaque fois je peux
calculer le mois et l'anne d'avant (la difficult c'tait quel est le mois
avant janvier). a a marche bien galement.
Alors voici une partie (qui ne marche pas) d'un code qui ne marche pas. En
fait au dbut j'avais pas introduit de variables i et j, j'ai compliqu le
truc inutilement, mais j'ai pas gard ce que j'avais fait avant, disons que
c'est une version brouillon pour donner l'ide du problme, mais comme il me
faudrait juste l'ide de la solution...
(mes questions sont la fin)
<?
$requeteMathieu="select sum(montant) from transac where
MONTH(datetransac)=$mois0 and YEAR(datetransac)=$annee0";
$result=mysql_query($requeteMathieu);
$row=mysql_fetch_array($result);
echo "<tr><td>".$nom_mois[$mois0]."
".$annee0.":<td><h2>".$row["sum(montant)"]." ?<td>(ce mois-ci)</tr>";
$requeteMathieu="select sum(montant) from transac where
MONTH(datetransac)=$mois1 and YEAR(datetransac)=$annee1";
$result=mysql_query($requeteMathieu);
$row=mysql_fetch_array($result);
echo "<tr><td>".$nom_mois[$mois1]."
".$annee1.":<td><h2>".$row["sum(montant)"]." ?<td>(le mois dernier)</tr>";
$requeteMathieu="select sum(montant) from transac where
MONTH(datetransac)=$mois2 and YEAR(datetransac)=$annee2";
$result=mysql_query($requeteMathieu);
$row=mysql_fetch_array($result);
echo "<tr><td>".$nom_mois[$mois2]."
".$annee2.":<td><h2>".$row["sum(montant)"]." ?</tr>";
$mois[0]=$mois2;
$annee[0]=$annee2;
$i=0;
echo $annee[0];
?>
<?
while ($annee[$j]>=2004)
{$annee[$i]=date("Y",mktime(0,0,0,$mois[$i-1] ,0,$annee[$i-1]));
$mois[$i]=date("n",mktime(0,0,0,$mois[$i-1],0,$annee[$i-1]));
$j=$i--;
$requeteMathieu="select sum(montant) from transac where
MONTH(datetransac)=$mois[$j] and YEAR(datetransac)=$annee[$j]";
$result=mysql_query($requeteMathieu);
$row=mysql_fetch_array($result);
echo "<tr><td>".$nom_mois[$mois[$i]]." ".$annee[$i].":
<td><h2>".$row["sum(montant)"]." ?";
$i++;
?>
<form action="affichagetransactions.php" name="afficher" method=post>
<input type=hidden name=filtre value='3'>
<input type=hidden name=moisetude value=<?echo $moisetude?>>
<input type=hidden name=anneeetude value=<?echo $anneeetude?>>
<td colspan=100><input type=submit value="afficher"></td>
</tr>
<?}?>
</table>
Voil donc les questions:
1) Quelle est la syntaxe pour $annee[$i-1] qui ne fonctionne pas??? faut-il
introduit $j=$i-1 ???
2) Quelle solution au problme? c'est dire que ce soit la donne du mois
et de l'anne de la ligne courant qui sont passes dans post et non pas les
donnes de la dernire ligne?
Cordialement
Mathieu
[Back to original message]
|