PHP : foreach et array

mister-ti Messages postés 3 Statut Membre -  
Dalida Messages postés 7114 Statut Contributeur -
Bonjour à tous,

J'ai un problème sur un site que je développe en ce moment.

j'ai un tableau PHP (array), et une fonction foreach dans laquelle je regarde le stock pour chaque produit dans ma base de données.

Les résultats s'affichent bien, tout est OK.

Ce que je n'arrive pas à faire, c'est effectuer la somme des valeurs retournées...

Voici mon code, ci ça peut vous aider :

// Définition du tableau
$liste = array(
'Modèle 1'=>'289',
'Modèle 2'=>'290',
'Modèle 3'=>'291',
'Modèle 4'=>'70',
'Modèle 5'=>'75',
);

foreach($liste as $titre=>$produit)
   {
		// Requête SQL
		$query_solde = "SELECT stock FROM ec_product_tangible WHERE nid='$produit'";
		$solde = mysql_query($query_solde) or die();
		
		// Récupération de résultats et stockage dans un tableau - METHODE 2
		while($row = mysql_fetch_array($solde))
		{
		$stock=$row['stock'];
		echo $stock.'<br>';
		}
	}

$total = array($row);
echo "la somme est de : ".array_sum($total);


Un petit coup de main ne serait pas de refus, je galère depuis quelques jours maintenant !!
A voir également:

1 réponse

Dalida Messages postés 7114 Statut Contributeur 923
 
salut Mister,

à lire vite fait, je me dis que tu n'ajoutes que la dernière requête au tableau $total.
il faudrait ajouter la ligne dans le each{} et même dans le while{} si tu dois ajouter plusieurs enregistrements de stock pour un produit.
$total = Array();

foreach($liste as $titre=>$produit)
{
		// Requête SQL
		$query_solde = "SELECT stock FROM ec_product_tangible WHERE nid='$produit'";
		$solde = mysql_query($query_solde) or die();
		
		// Récupération de résultats et stockage dans un tableau - METHODE 2
		while($row = mysql_fetch_array($solde))
		{
		$stock=$row['stock'];
		echo $stock.'<br>';

                $total[] = $row['stock'];

		}

}

mais ce n'est peut être pas du tout ce que tu veux faire…

bon courage !
1