PHP : foreach et array

Fermé
mister-ti Messages postés 3 Date d'inscription lundi 25 juin 2007 Statut Membre Dernière intervention 25 juin 2007 - 25 juin 2007 à 16:44
Dalida Messages postés 6728 Date d'inscription mardi 14 mai 2002 Statut Contributeur Dernière intervention 11 janvier 2016 - 25 juin 2007 à 18:02
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 6728 Date d'inscription mardi 14 mai 2002 Statut Contributeur Dernière intervention 11 janvier 2016 920
25 juin 2007 à 18:02
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