Jerome
2010-02-04 08:23:48 UTC
Bonjour
j'utilise pour la première fois des tableaux en php.
j'ai un premier tableau qui récupère des enregistrements dans la base
d'un ERP
do{
$Date = odbc_result($RECUP_LPV,10);
$anne_pie = substr($Date,0,4);
$mois_pie = substr($Date,5,2);
$ligne=array(
"code" => odbc_result($RECUP_LPV,6),
"quantite" => odbc_result($RECUP_LPV,7),
"mois" => $mois_pie,
"annee" => $anne_pie,
"montant" => odbc_result($RECUP_LPV,8)
);
$tableau[$t]=$ligne;
$t++;
}while (odbc_fetch_row($RECUP_LPV));
Une fois cette récupération faite (j'ai bon ou pas ?), je souhaiterai
obtenir un second tableau ne contenant pour une année donné qu'un
enregistrement pour un même "code".
voilà ce que j'ai écrit :
<?foreach($tableau as $element){
if($element['annee']==$anneeN){ //Si je suis sur l'année N
if($num_mois='00'){ //Si je veux les données sur l'année entière
if ($Firsttime_anneeN){ //pour renseigner la première ligne du
tableau trié
$liste_artN['0'] = $element;
$Firsttime_anneeN=false;
$j++;
}else{
$k=0;
foreach($liste_artN as $toto){
if ($toto['code'] == $element['code']){
$tab=array(
"code" => $toto['code'],
"quantite" =>
$element['quantite']+$toto['quantite'],
"mois" => "*",
"annee" => $element['annee'],
"montant" => $element['montant']+$toto['montant']
);
$liste_artN[$k]=$tab;
break;
}
else{
$liste_artN[] = $element;
}
$k++;
}
$j++;
}
}else{ //Sinon, mettre selectionner les donnée du mois choisi
}
}else{ //Sinon, je suis sur l'année N-1
}
$i++;
}
Je pense que c'est pas terrible vu que je n'obtiens qu'un enregistrement
dans le tableau $liste_artN et que je ne vois pas trop à quoi cela
correspond :-(
Si qqn à une petite idée, je suis preneur.
Merci bcp
Jérôme
j'utilise pour la première fois des tableaux en php.
j'ai un premier tableau qui récupère des enregistrements dans la base
d'un ERP
do{
$Date = odbc_result($RECUP_LPV,10);
$anne_pie = substr($Date,0,4);
$mois_pie = substr($Date,5,2);
$ligne=array(
"code" => odbc_result($RECUP_LPV,6),
"quantite" => odbc_result($RECUP_LPV,7),
"mois" => $mois_pie,
"annee" => $anne_pie,
"montant" => odbc_result($RECUP_LPV,8)
);
$tableau[$t]=$ligne;
$t++;
}while (odbc_fetch_row($RECUP_LPV));
Une fois cette récupération faite (j'ai bon ou pas ?), je souhaiterai
obtenir un second tableau ne contenant pour une année donné qu'un
enregistrement pour un même "code".
voilà ce que j'ai écrit :
<?foreach($tableau as $element){
if($element['annee']==$anneeN){ //Si je suis sur l'année N
if($num_mois='00'){ //Si je veux les données sur l'année entière
if ($Firsttime_anneeN){ //pour renseigner la première ligne du
tableau trié
$liste_artN['0'] = $element;
$Firsttime_anneeN=false;
$j++;
}else{
$k=0;
foreach($liste_artN as $toto){
if ($toto['code'] == $element['code']){
$tab=array(
"code" => $toto['code'],
"quantite" =>
$element['quantite']+$toto['quantite'],
"mois" => "*",
"annee" => $element['annee'],
"montant" => $element['montant']+$toto['montant']
);
$liste_artN[$k]=$tab;
break;
}
else{
$liste_artN[] = $element;
}
$k++;
}
$j++;
}
}else{ //Sinon, mettre selectionner les donnée du mois choisi
}
}else{ //Sinon, je suis sur l'année N-1
}
$i++;
}
Je pense que c'est pas terrible vu que je n'obtiens qu'un enregistrement
dans le tableau $liste_artN et que je ne vois pas trop à quoi cela
correspond :-(
Si qqn à une petite idée, je suis preneur.
Merci bcp
Jérôme