Aller au contenu

calcul dans un tableau array


Sujets conseillés

Posté

Bonjour,

J'ai la ligne de code suivante :

$query05='select totalttc from comm_active where user="'.$session.'"'

Je voudrais savoir comment faire pour compter le nombre de valeur qui vont être stockés dans le mysql_fetch_array et aussi en faire la somme.

Désolé de vpous soliciter autant en ce moment.

Merci

Posté

Plutôt qu'un array, imposant de retourner chacune des lignes de ta table correspondant à ta recherche, et d'effectuer par-dessus des calculs en PHP, pourquoi ne pas effectuer ce même calcul directement dans ta requête ?

SELECT SUM(totalttc) AS Somme FROM comm_active WHERE user='$session'

Posté (modifié)

Je vais essayer ca je ne connaissais pas, mais comment je fais pour savoir combien de valeur cette appel m'a retourner ?

Merci

Modifié par gontran
Posté

Bon ca ne m'affiche rien...

$query05='SELECT SUM(totalttc) AS Somme FROM comm_active WHERE user=support';
 $querycomma=mysql_query($query05);
 echo ' : '.$querycomma.'';

Ca vient surement d'une erreur dans mes lignes de code...

Posté

Bonjour,

Il faut que tu continue à utiliser la fonction mysql_fetch_array

$query05='SELECT SUM(totalttc) AS Somme FROM comm_active WHERE user=support';
$querycomma=mysql_query($query05);
$ligne = mysql_fetch_array($querycomma);
echo ' : '.$ligne['somme'].'';

Posté

ah ok, ca doit etre ca qui ne marche pas

Je vais tester ta solution de suite.

Merci

Je vous tiens au courant

Posté

Bonjour,

à la rigueur, pour une seule valeur (vu que tu n'utilise pas de clause GROUP BY) tu peux procéder avec la fonction mysql_result.

$result = mysql_query("SELECT SUM(totalttc) AS Somme FROM comm_active WHERE user='".$session."'");
$totalttc = mysql_result($result,0);

Au niveau performance...bah mysql_fetch_array crée un tableau...là, seule la valeur souhaitée est retournée ;)

Posté (modifié)

j'ai fais ca :

$query06='SELECT totalttc FROM comm_active WHERE id_cookie='.$id_cookie.'';
 $commacookie=mysql_query($query06);
 $lignecookie=mysql_fetch_array($commacookie) or die (mysql_error ());
 $somme=array_sum($lignecookie);
 $nbrarticle=count($lignecookie);
 

ca fonctionne sauf que ca extrait que 2 valeurs de ma base alors qu'il y en a 12 !!!

Bleufant....

Je m'arrache les cheveux....

Modifié par gontran
Posté

Franchement je ne comprend pas... :blink:

Pourquoi tu n'utilise pas les outils qu'on te propose ? Bref...

La requète te retourne 2 valeurs certainement parce que ce sont les deux seules qui correspondent à la condition

WHERE id_cookie='.$id_cookie.'

Posté

J'ai essayer de les utiliser mais ca ne marchais pas...

pour les valeurs, non il y en a 12 avec la valeur du cookie, j'ai vérifier...

donc je suis bleufer...

Mais je ne lache pas l'histoire, je vais bien trouver....

Le point positif c'est que sur les 2 valeurs extraitent, les calculs sont bon...

Posté
J'ai essayer de les utiliser mais ca ne marchais pas...

Qu'est-ce qui ne marchais pas ? As-tu lancé la requète avec PhpMyAdmin (ou équivalent) ?

Posté (modifié)

Ca ne m'afficher rien du tout...

oui je viens d'extraire les donner avec la valeur contenue dans mon cookie et il me sort bien les 12 entrées...(phpmyadmin)

voila mon code :

$id_cookie=$_COOKIE['session'];
 //extraction de l'id du client
 $query06='SELECT totalttc FROM comm_active WHERE id_cookie='.$id_cookie.'';
 $commacookie=mysql_query($query06);
 $lignecookie=mysql_fetch_array($commacookie) or die (mysql_error ());
 $somme=array_sum($lignecookie);
 $nbrarticle=count($lignecookie);
 echo '<p>'.$id_cookie.'</p>';
 echo '<p>somme : '.$somme.'</p>';
 echo '<p>Nombre d\'article : '.$nbrarticle.'</p>';

vous pouvez trouver la page de test a l'adresse suivante :

[http://]www.cmonweb.net/caddie/test.php[/http://]

Modifié par gontran
Posté

et si tu lance, toujours dans phpmyadmin la requete :

SELECT SUM(totalttc) as total FROM comm_active WHERE id_cookie='.$id_cookie.'

En remplacant $id_cookie par la valeur correspondante bien entendu

Posté

Oui dans phpmyadmin ca fonctionne

Je vais retenter ca dans mon code.

Par contre comment je fais avec ce code pour savoir combien j'ai d'article ?

Posté

Essaye

SELECT COUNT(totalttc) as nb, SUM(totalttc) as total FROM comm_active WHERE id_cookie='.$id_cookie.'

Posté

Alors sur phpmyadmin ca fonctionne très bien.

Mais sur mon site rien à faire...

je te remet mon code en entier

$query06='SELECT COUNT(totalttc) as nb, SUM(totalttc) as total FROM comm_active WHERE id_cookie='.$id_cookie.'';
 $commacookie=mysql_query($query06);
 $lignecookie=mysql_fetch_array($commacookie) or die (mysql_error ());
 $somme=$lignecookie;
 $nbrarticle=count($lignecookie);
 echo '<p>'.$id_cookie.'</p>';
 echo '<p>somme : '.$somme.'</p>';
 echo '<p>Nombre d\'article : '.$nbrarticle.'</p>';

Merci beaucoup pour ton aide

Posté

Ok c'est bon ca fonctionne.

c'est moi qui faisai n'importe quoi.

désoler de vous avoir fais perdre votre temp

Posté

Tu ne me fais pas perdre mon temps ! Si c'était le cas je ne t'aurais même pas répondu ou plus tard ;)

As-tu dû changer quelque chose au code ? Il serait bien de partager les informations qui t'on permises de résoudre ton problème... à moins que tout soit sur cette page déjà :)

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...