Faire une somme en php - PHP - Programmation
Marsh Posté le 14-02-2010 à 23:16:59
Utilise la balise de code stp
Code :
|
Je n'ai pas bien compris ce que tu souhaitais faire... Tu répètes en tous cas plusieurs fois le même code ou presque, et c'est mal, car tu pourrais sans doute simplifier tout ca
Marsh Posté le 15-02-2010 à 00:57:16
Imbriquer quelques if ne ferait probablement pas de mal effectivement.
Code :
|
Ca serait quand même plus propre et lisible.
Marsh Posté le 15-02-2010 à 00:59:23
Pour info on utilise plus $HTTP_GET_VARS depuis des années
utilise plutot : $_GET['code']
De meme pour les formulaires : $_POST
Marsh Posté le 15-02-2010 à 10:10:50
En faite j'ai testé ma requête et elle marche bien. Mon problème c'est au niveau de l'affichage du résultat qui me renvoie une erreur : Fatal error: Call to a member function on a non-object in c:\easyphp1-8\www\decisionnel\search2.php. Voici comment j'affiche le résultat de ma requête: :<?php echo $sum->Fields('sum_poids_colis_1'); ?>
Ya t-il une erreur ?????
Marsh Posté le 15-02-2010 à 10:23:25
on va déjà simplifié ton truc
Code :
|
et puis ton erreur c'est dans la page search2.php a la ligne 461, je doute que ca soit le script que tu nous a passé, montre nous ce qu'il y'a autour de ca
Marsh Posté le 15-02-2010 à 12:24:46
Tu utilises un objet $sum qui n'a pas été initialisé comme tel. Avant d'utiliser un objet, tu dois créer une instance de cet objet par un new.
Marsh Posté le 15-02-2010 à 12:50:09
Merci a tous. J'ai trouvé mon erreur c'etait juste une erreur d'acollade non fermé dans mon code
Marsh Posté le 14-02-2010 à 12:41:29
je suis vraiment pas un pro en php et je voudrais faire des somme à partir d'un certains nombre de critères que l'utilisateurs aura à selectionner.
Voici mon code :
$colname1__sum = '-1';
$colname2__sum = '-1';
$colname3__sum = '-1';
$query_sum="";
$sum = "";
$totalRows_sum = "";
if (isset($HTTP_GET_VARS['code']) && isset($HTTP_GET_VARS['sens']) && isset($HTTP_GET_VARS['nature'])) {
if (!empty($HTTP_GET_VARS['code']) && !empty($HTTP_GET_VARS['sens']) && !empty($HTTP_GET_VARS['nature'])) {
$colname1__sum = $HTTP_GET_VARS['code'];
$colname2__sum = $HTTP_GET_VARS['sens'];
$colname3__sum = $HTTP_GET_VARS['nature'];
echo 'testSOMME1';
$query_sum = sprintf("SELECT SUM(f_cargo.poids_colis) AS sum_poids_colis_1 FROM (f_manifest INNER JOIN f_cargo ON f_cargo.manifest_id=f_manifest.manifest_id) WHERE f_manifest.code_agree_consignataire='%s' AND f_manifest.import_export='%s' AND f_cargo.nature_colis='%s'", $colname1__sum,$colname2__sum,$colname3__sum);
$sum = $connexion->SelectLimit($query_sum) or die($connexion->ErrorMsg());
$totalRows_sum = $sum->RecordCount();
}
else
{
if (!empty($HTTP_GET_VARS['code']) && !empty($HTTP_GET_VARS['sens'])) {
$$colname1__sum = $HTTP_GET_VARS['code'];
$$colname2__sum = $HTTP_GET_VARS['sens'];
echo 'testSOMME2';
$query_sum = sprintf("SELECT SUM(f_cargo.poids_colis) AS sum_poids_colis_1 FROM (f_manifest INNER JOIN f_cargo ON f_cargo.manifest_id=f_manifest.manifest_id) WHERE f_manifest.code_agree_consignataire='%s' AND f_manifest.import_export='%s'", $colname1__sum,$colname2__sum);
$rs_sum = $connexion->SelectLimit($query_sum) or die($connexion->ErrorMsg());
$totalRows_sum = $rs_sum->RecordCount();
}
else
{
if (!empty($HTTP_GET_VARS['sens']) && !empty($HTTP_GET_VARS['nature'])) {
$colname2__sum = $HTTP_GET_VARS['sens'];
$colname3__sum = $HTTP_GET_VARS['nature'];
echo 'testSOMME3';
$query_sum = sprintf("SELECT SUM(f_cargo.poids_colis) AS sum_poids_colis_1 FROM (f_manifest INNER JOIN f_cargo ON f_cargo.manifest_id=f_manifest.manifest_id) WHERE f_manifest.import_export='%s' AND f_cargo.nature_colis='%s'", $colname2__sum,$colname3__sum);
$sum = $connexion->SelectLimit($query_sum) or die($connexion->ErrorMsg());
$totalRows_sum = $sum->RecordCount();
}
else
{
if (!empty($HTTP_GET_VARS['code']) && !empty($HTTP_GET_VARS['nature'])) {
$colname1__sum = $HTTP_GET_VARS['code'];
$colname3__sum = $HTTP_GET_VARS['nature'];
echo 'test4';
$query_sum = sprintf("SELECT SUM(f_cargo.poids_colis) AS sum_poids_colis_1 FROM (f_manifest INNER JOIN f_cargo ON f_cargo.manifest_id=f_manifest.manifest_id) WHERE f_manifest.code_agree_consignataire='%s' AND f_cargo.nature_colis='%s'", $colname1__sum,$colname3__sum);
$sum = $connexion->SelectLimit($query_sum) or die($connexion->ErrorMsg());
$totalRows_sum = $sum->RecordCount();
}
else
{
if (!empty($HTTP_GET_VARS['code'])) {
$colname1__sum = $HTTP_GET_VARS['code'];
$query_sum = sprintf("SELECT SUM(f_cargo.poids_colis) AS sum_poids_colis_1 FROM (f_manifest INNER JOIN f_cargo ON f_cargo.manifest_id=f_manifest.manifest_id) WHERE f_manifest.code_agree_consignataire='%s'", $colname1__sum);
$sum = $connexion->SelectLimit($query_sum) or die($connexion->ErrorMsg());
$totalRows_sum = $sum->RecordCount();
}
else
{
if (!empty($HTTP_GET_VARS['sens'])) {
$colname2__sum = $HTTP_GET_VARS['sens'];
$query_sum = sprintf("SELECT SUM(f_cargo.poids_colis) AS sum_poids_colis_1 FROM (f_manifest INNER JOIN f_cargo ON f_cargo.manifest_id=f_manifest.manifest_id) WHERE f_manifest.import_export='%s'", $colname2__sum);
$sum = $connexion->SelectLimit($query_sum) or die($connexion->ErrorMsg());
$totalRows_sum = $sum->RecordCount();
}
else
{if (!empty($HTTP_GET_VARS['nature'])) {
$colname3__sum = $HTTP_GET_VARS['nature'];
$query_sum = sprintf("SELECT SUM(f_cargo.poids_colis) AS sum_poids_colis_1 FROM (f_manifest INNER JOIN f_cargo ON f_cargo.manifest_id=f_manifest.manifest_id) WHERE f_cargo.nature_colis='%s'", $colname3__sum);
$sum = $connexion->SelectLimit($query_sum) or die($connexion->ErrorMsg());
$totalRows_sum = $sum->RecordCount();
}
else
{
$query_sum=sprintf("SELECT SUM(f_cargo.poids_colis) AS sum_poids_colis_1 FROM (f_manifest INNER JOIN f_cargo ON f_cargo.manifest_id=f_manifest.manifest_id) WHERE f_manifest.code_agree_consignataire='%s' AND f_manifest.import_export='%s' AND f_cargo.nature_colis='%s'" );
$sum = $connexion->SelectLimit($query_sum) or die($connexion->ErrorMsg());
$totalRows_sum = $sum->RecordCount();
}
}
}
}
}
}
}
}
Voici le code d'affichage du résultat:<?php echo $sum->Fields('sum_poids_colis_1'); ?>
Le problème c'est qu'à l'affichage du résultat, j'ai cette erreur de ligne exactement là ou je l'affiche.
Fatal error: Call to a member function on a non-object in c:\easyphp1-8\www\decisionnel\search2.php on line 461
Merci d'avance pour vos différents aides.