Posted: Sun 14 Feb 2010 - 13:33 Post subject: Faire une somme en php
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 :
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. _________________ Mass