Modérateur PHPfrance |
10684 Messages
24 déc. 2011, 15:27
La fonction mysql_fetch_array() te retourne un tableau qui est à la fois associatif et indexé, c'est à dire que ta variable $rowww va être un tableau de la forme :
- $rowww["nom_de_la_colonne"] = valeur_en_base
- $rowww[position_dans_la_requête] = valeur_en_base
Pour récupérer le résultat de ton count(), il te faut donc soit :
- donner un alias comme le fait xTG : " COUNT(code) AS nb " puisqu'il n'y a pas de nom à la colonne count, on lui en donne un (ex : "nb"), et utiliser ensuite $rowww['nb'] pour récupérer la valeur
- utiliser la position de ce champ dans la requête (c'est le premier champ retourné par la requête, il a donc l'index 0) et utiliser ensuite $rowww[0] pour récupérer la valeur
La première solution reste préférable pour des questions de lisibilité et de maintenance (c'est plus facile de savoir ce que contient ta variable quand l'index s'appelle "nombreDeCodes" que quand il s'appelle "0". Et le jour où tu veux récupérer une deuxième donnée avec ta requête et que tu places celle-ci avant le count, tu n'as pas renuméroter tous tes index pour dire que les "0" sont désormais des "1"
A noter également que la fonction mysql_fetch_assoc() ne retourne que le premier cas (par nom de colonne) et que mysql_fetch_row() ne concerne elle que le second (par position). Ces fonctions sont un poil plus optimisée, puisqu'elles ne gèrent pas l'information qui ne te servira pas

Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...