Executer une requête préparée d'un fichier différent dans une fonction
Bonjour,
Je débute avec PDO...
J'ai dissocié mes requêtes préparées PDO dans un fichier à part et je cherche à les appeler dans une fonction (il s'agit d'une fonction qui calcule un frais de port à partir du poids.)
Je fais un global des variables et la premiere PoidsMaxReq fonctionne parfaitement, par contre la deuxième (qui a un bindParam) ne fonctionne pas.
Fichier de fonctions :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
|
function BasketShipTotal($poidsTotal)
{
global $TrouveTrancheLivrReq;
global $PoidsMaxReq;
$PoidsMaxReq-> execute();
$PoidsMaxTab = $PoidsMaxReq->fetch();
$PoidsMax = $PoidsMaxTab['poids_port'];
$nbcolis = ceil($poidsTotal/$PoidsMax);
$poidsrestant = $poidsTotal;
for($icolis=0;$icolis<$nbcolis;$icolis++)
{
if($poidsrestant < $PoidsMax){
$poidsrequete = $poidsrestant;
}else{
$poidsrestant = $poidsrestant-$PoidsMax;
$poidsrequete = $PoidsMax;
}
$TrouveTrancheLivrReq -> execute();
$TrouveTrancheLivrTab = $TrouveTrancheLivrReq->fetch();
$pxtotal = $pxtotal + $TrouveTrancheLivrTab["px_port"];
}
return $pxtotal;
} |
Fichier de requêtes :
Code:
1 2 3 4 5 6 7
|
$sqlPoidsMax = "SELECT * FROM `$table_port` ORDER BY `poids_port` DESC";
$PoidsMaxReq = $bdd->prepare($sqlPoidsMax);
$sqlTrouveTrancheLivr = "SELECT * FROM `$table_port` WHERE `poids_port` >=:poids ORDER BY `poids_port` ASC";
$TrouveTrancheLivrReq = $bdd->prepare($sqlTrouveTrancheLivr);
$TrouveTrancheLivrReq -> bindParam(':poids', $poidsrequete); |
Avez vous une idée ?
Merci.