8791 sujets

Développement web côté serveur, CMS

Bonjour à toutes et à tous,

Je suis en train de développer une petite application en interne, et j'ai besoin de calculer la somme totale de toutes les surfaces des batiments composant le patrimoine.

J'ai donc une table patrimoine avec un champs de type MEDIUMINT surface.


$somme_surface = ('SELECT SUM(surface) FROM patrimoine');
$calcul_somme_surface = mysql_query ($somme_surface);
$resultat_somme_surface = mysql_fetch_assoc ($calcul_somme_surface);


Dans PhpMyAdmin, la requête somme_surface fonctionne très bien.

J'essaie donc d'afficher le résultat avec PHP :

echo "Ce qui représente une surface totale de $resultat_somme_surface";


Lorsque j'affiche ma page en local j'ai le droit à ça : Ce qui représente une surface totale de Array

J'ai cherché dans plusieurs topics sur le net, et je n'ai pas trouvé de solutions.
J'espère que vous avez une petite idée qui serait la bienvenue Smiley cligne

Merci !
Modifié par seby2027 (20 Mar 2009 - 20:10)
salut,


$sql = "SELECT SUM(surface) as surface_total FROM patrimoine"; 
$surface = mysql_query($sql) or die ('Erreur : '.mysql_error() ); 
$data = mysql_fetch_assoc($surface);
$total = $data['surface_totale'];
 
echo "Ce qui représente une surface totale de : $total";
Salut,
D'après la doc :
a écrit :
mysql_fetch_assoc — Lit une ligne de résultat MySQL dans un tableau associatif

$resultat_somme_surface est donc un tableau qui, converti en chaîne, donne "Array".
Il te faut donc afficher
$resultat_somme_surface['SUM(surface)']

ou, si tu passes par un alias :
$somme_surface = 'SELECT SUM(surface) as surface_totale FROM patrimoine';
...
echo "blablabla " . $resultat_somme_surface['surface_totale'];


(et pense à tester la bonne exécution de tes requêtes ou la présence d'un résultat)

a+

edit : grilled Smiley sweatdrop
Modifié par jeje (15 Mar 2009 - 17:41)