optimisation d'un programme php
Forum Programmation : optimisation d'un programme php
Bonjour,
Je cherche à optimiser un programme :
Vla le résultat
http://www.solidaritok.com/index.p [...] he-moyenne
et vla le code source :
http://www.solidaritok.com/txt/affiche-moyenne.txt
je voudrais aussi que si les valeurs sont a zéro, qu'elle s'écrivent en gris.
En vous remericant, amicalement, SOL.
bonjour,
tu peux mettre tous les noms de colonnes dans un tableau en premier et ensuite faire des boucles, ca sera plus lisibles
Code :
|
c'est un début
et ca raccourcira vachement le prog
Deux petits détails supplémentaires...
1) tu commences à construire ta variable $tableau avant de vérifier que tu as bien un résultat dans ta requète... ça ne me semble pas bien logique
2) ta fonction reçoit $ordre comme argument... pourquoi on trouve un global $ordre?
Bon, ça ne va pas optimiser le code mais ce sont des petits détails qui peuvent jouer à terme.
Bonjour,
Merci beaucoup pour ta réponse.
la première modif est bien
# $tab = array ('nom','A','B1','B3','B5','B6','B7','B8','B9','B12','C','D','E','K','paba','bore','calcium','chlore','chrome','cobalt','cuivre','fer','fluor','iode','magnesium',
'manganese','molybdene','phosphore','potassium','selenium','silicium','sodium','soufre','zinc','protide','lipide','glucide','choline','omega3','Asp','Glu','Ala','Arg','Asn','CySH',
'Gln','Gly','His','Ile','Leu','Lys','Met','Phe','Pro','Ser','Thr','Tyr','Try','Val','fibre',
'eau','Kcalories','Kjoules');
# if (isset ($_GET['trier']) and in_array ($_GET['trier'], $tab))
# {
# $ordre = $_GET['trier'];
# echo affichage($ordre);
# }
# else
# {
# // La demande trier ne correspond pas on l'oubli et on affiche le tableau de base
# $ordre = 'nom';
# echo affichage($ordre);
# }
Ca marche.
La deuxième passe pas :
$tableau .= "<table border='1'>\n";
$tableau .= " <tr>\n";
foreach ($tab as $val)
{
$tableau .= " <th ><a href=\"?page=nutrition-affiche-moyenne&trier=$val\">$val</a></th>\n";
}
$tableau .= " </tr>\n";
il dit :
Warning: Invalid argument supplied for foreach() in /home/www/enfants/www/nutrition/affiche-moyenne2.php on line 53
Merci car déjà, la première boucle passe et ça allège énormément.
Pour la deux, je sais pas ou est l'erreur.
La troisième pourrait peut etre aussi allégée.
Et tes remarques sont bonnes mais ce n'est pas moi qui est fait ces programmes.
J'ai demandé de l'aide et j'ai adapté comme j'ai pu c pour ca que je ne sais pas trop modifier ce qu'il faut.
vla le nouveau code source ,
http://www.solidaritok.com/txt/affiche-moyenne2.txt
Au fait, comment on peut faire pour que si la valeur est nul, ça s'affiche en gris clair?
Je te remercie encore, amicalement, solidaritok.
Message édité par solidaritok le 26-01-2007 à 19:28:27
| solidaritok a écrit :
|
j'ai remarqué
il te faut les bases, fonction, visibilité des variables etc...
$tab est une variable déclarée au début du programme, le remplissage du tableau est effectué dans une fonction.
les fonctions n'ont pas accès au variables global (sauf indication contraire) et c'est pour ça qu'il te lève un warning.
pour ce qui est de la couleur, c'est la balise <font> en html
ah oui j'ai failli oublié:
- google est ton ami
- il faut utiliser la balise [code] pour afficher du code
Message édité par coca25 le 26-01-2007 à 21:56:09
Ah oui d'accord, mais concrètement, comment on fait stp pour que l'accès à tab soit possible et ou je peux tester la variable pour <font>?
Merci.
global $tab;
Le compilateur trouve une erreur
Warning: Invalid argument supplied for foreach() in /home/www/enfants/www/nutrition/affiche-moyenne2.php on line 49
correspondant à :
foreach ($tab as $val)
http://www.solidaritok.com/txt/affiche-moyenne2.txt
c'est un interpreteur et non un compilateur.
global est mal placé (en passant le fait de mettre l'affichage dans une fonction ne sert à rien dans ton cas)
et si tu veux pas lire la doc, demandes gentiment à ce qu'on te le fasse, y aura surement qq un qui aura l'âme charitable
EDIT: d'ailleurs ca donnait le bon resultat avant, laisse le donc comme c'était!
Message édité par coca25 le 29-01-2007 à 10:39:01
De temps en temps, je dois rajouter des champs, ca qui fait que ça complique tout.
Encore, la ce n'est que le programme d'affiche, car pour le calcul de la moyenne, c'est quatre fois plus lourd.
Elle est ou la doc pour dans mon cas stp?
ca te donnera un point de départ http://php.benscom.com/manual/fr/l [...] .scope.php
EDIT: enleve les 2 global, et mets:
Code :
|
Message édité par coca25 le 29-01-2007 à 11:09:38
Warning: Invalid argument supplied for foreach() in /home/www/enfants/www/nutrition/affiche-moyenne2.php on line 48
foreach ($tab as $val)
http://www.solidaritok.com/txt/affiche-moyenne2.txt
serieux c'est limite mais juste pour en finir, je vais repondre, effectivement j'avais oublie de dire qu'il fallait changer la fonction par
Code :
|
Message édité par coca25 le 29-01-2007 à 11:24:42
Ca marche, merci beaucoup.
J'ai même réussi grâce à vous à me débrouiller pour la troisième boucle :
foreach ($tab as $val)
{
$tableau .= "<th align=right>".$valeurs[$val]."</th>\n";
}
http://www.solidaritok.com/nutriti [...] e2&trier=A
Au revoir.
Message édité par solidaritok le 29-01-2007 à 14:35:06
Salut, g une nouvelle question svp :
transformer
$ta[0]=$valeurs['nom'];
$ta[1]=$valeurs['A'];
$ta[2]=$valeurs['B1'];
$ta[3]=$valeurs['B2'];
$ta[4]=$valeurs['B3'];
en
$tab = array ('nom','A','B1','B3');
...
$ta=array();
foreach ($ta as $value) {
$value = $tab;
}
Ca n'inscrit qu'une seule ligne.
Help svp
| solidaritok a écrit :
|
em meme temps, copier/coller, c'est a la portée de tout le monde
quoique, ta question me laisse pensif
comment je peux faire pour remplir les valeurs du tableau $ta avec celles du tableau $tab svp?
et que le jour où je doive modifier le tableau $tab, $ta soit modifié automatiquement.
transformer
$ta[0]=$valeurs['nom'];
$ta[1]=$valeurs['A'];
$ta[2]=$valeurs['B1'];
$ta[3]=$valeurs['B2'];
$ta[4]=$valeurs['B3'];
en
$tab = array ('nom','A','B1','B3');
...
//mais pour ce qui suit???
$ta=array();
foreach ($ta as $value) {
$value = $tab;
}
Message édité par solidaritok le 29-01-2007 à 18:35:57
Il y a 779 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici.
