Fonction avec requète SQL

msi79 Messages postés 509 Date d'inscription lundi 24 août 2009 Statut Membre Dernière intervention 2 mai 2023 - 5 févr. 2023 à 15:12
jordane45 Messages postés 38183 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 23 mai 2024 - 10 févr. 2023 à 08:23

Bonjour, je voudrai le resultat d'une requète en utilisant une fonction

voici ma fonction

<?php
include("../functions/connect_pdo.php");
function mensuelAccessoireInv($id_prod){

	 $sql = "SELECT DISTINCT S.*
               ,ART.*       
               ,SUM(S.qte) AS arrive
               ,SUM(S.qte) - (IFNULL(ART.vendu,0)) AS diff
        FROM  stocks S 
        LEFT JOIN (
        SELECT 
               A.articleVendu,
               A.id_prod
              ,SUM(A.articleQuant) as vendu 
        FROM  articles_stock A  
        GROUP BY A.id_prod) ART ON ART.id_prod = S.id_pros  
		WHERE S.id_pros = '".$id_prod."' 
        GROUP BY S.id_pros
      ";
   
try{
$req_INV = $pdo->query($sql);
}catch(PDOException  $e){
     echo "ERREUR DE REQUETE : " . $sql . '  error : '.$e->getMessage();
}
$nbrInv = $req_INV->rowCount();
$resulInv = $req_INV->fetch(PDO::FETCH_ASSOC);
return  $resulInv['diff'];
}
?>

voici comment je voudrai recuperer

<td style="background-color:orange; color:white; text-align:center"><?php mensuelAccessoireInv(9); ?></td>

mais il me retourne une erreur.

pouvez-vous m'aider ?

3 réponses

NHenry Messages postés 15123 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 20 mai 2024 159
5 févr. 2023 à 17:00

Quel message d'erreur ?

As-tu essayé ta requête directement sur la base de données (avec phpmyadmin par exemple, si mysql) ?


0
msi79 Messages postés 509 Date d'inscription lundi 24 août 2009 Statut Membre Dernière intervention 2 mai 2023 1
5 févr. 2023 à 18:39

OUI la  requête directement sur la base de donnée donne bien la reponse attendue.

est ce l'appel de la fonction ??

0
NHenry Messages postés 15123 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 20 mai 2024 159
7 févr. 2023 à 23:37

Non, en ouvrant un accès en direct où tu peux entrer toi même la requête.

-1
jordane45 Messages postés 38183 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 23 mai 2024 344
10 févr. 2023 à 08:23

Bonjour,

Le souci vient de l'utilisation que tu fais de ta fonction...

Donc,

soit tu ajoutes un echo dans ta fonction ...

 echo  $resulInv['diff'];
 return  $resulInv['diff'];
}

soit tu fais l'echo devant l'appel de celle ci dans ton code. ( ce que je préconise )

<td style="background-color:orange; color:white; text-align:center"><?php echo mensuelAccessoireInv(9); ?></td>

0
Rejoignez-nous