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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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.