Je souhaiterais pouvoir comparer les valeurs du tableau, et additionner les valeurs similaires.
Par exemple, dans mon tableau ci-dessus, nous pouvons voir qu'il y a en [3] : 800g Boeuf et en [17] 400g Boeuf. Je voudrais obtenir une seul entrée dans mon tableau PHP de la valeur : 1200g Boeuf .
Regarde la fonction sum dans le SQL :https://www.w3schools.com/sql/func_sqlserver_sum.asp#:~:text=SQL%20Server%20SUM%20%28%29%20Function%201%20Definition%20and,2%20Syntax%203%20Parameter%20Values%204%20Technical%20Details
Qte = quant dans ton code
Justement Sum = Faire la somme = additionner en anglais
- Edité par lindadu01 6 mai 2021 à 12:20:08
Parfois, arrêter 5 minutes son développement permet de mieux repartir face à un problème ;)
les informations étant récupérées dans une boucle, donc suite a l'execution de plusieurs requetes SQL, je ne peux pas traiter les données autrement que dans le tableau regroupant l'ensemble de ces requetes ?
Ne fais qu'une seule requête en construisant une clause WHERE ID IN( ... ), ce qui te permettra également d'avoir une clause ORDER BY ? (sans injection SQL au passage ?)
//if ($recette_select)
$reponse = $bdd->query('SELECT * FROM recettes WHERE ID IN(' . implode(', ', array_map('intval', $recette_select)) . ')');
EDIT : en fait, non, il aurait plutôt été question d'un SUM + GROUP BY que d'un tri sauf que c'est tellement mal modélisé que ce n'est pas possible. Pourquoi il y a 10 colonnes au lieu d'avoir une table avec les ingrédients et une table intermédiaire pour faire le lien recette/ingrédient qui comprendrait la quantité ?
Dans une base de données on évite la redondance. Donc idéalement, comme l'a dit Julp, il faudrait une table "recette", une table "ingrédient" et une table intermédiaire "quantité" qui ferait le lien entre la recette, l'ingrédient et aurait une colonne supplémentaire "qté" et là tu peux tout gérer en SQL directement...
Que se passe-t-il pour une recette où il y a 50 ingrédients ?
Parfois, arrêter 5 minutes son développement permet de mieux repartir face à un problème ;)
Parfois, arrêter 5 minutes son développement permet de mieux repartir face à un problème ;)
Parfois, arrêter 5 minutes son développement permet de mieux repartir face à un problème ;)
Pas d'aide concernant le code par MP, le forum est là pour ça :)
julp.fr ~ PHP < 8.0.0 : activer les erreurs PDO/SQL ~ PHP < 8.1.0 : activer les erreurs mysqli
Parfois, arrêter 5 minutes son développement permet de mieux repartir face à un problème ;)