gontran Posté 26 Avril 2006 Posté 26 Avril 2006 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
captain_torche Posté 26 Avril 2006 Posté 26 Avril 2006 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'
gontran Posté 26 Avril 2006 Auteur Posté 26 Avril 2006 (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é 26 Avril 2006 par gontran
gontran Posté 26 Avril 2006 Auteur Posté 26 Avril 2006 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...
NorSeb Posté 26 Avril 2006 Posté 26 Avril 2006 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'].'';
gontran Posté 26 Avril 2006 Auteur Posté 26 Avril 2006 ah ok, ca doit etre ca qui ne marche pas Je vais tester ta solution de suite. Merci Je vous tiens au courant
TheRec Posté 26 Avril 2006 Posté 26 Avril 2006 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
gontran Posté 26 Avril 2006 Auteur Posté 26 Avril 2006 (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é 26 Avril 2006 par gontran
NorSeb Posté 26 Avril 2006 Posté 26 Avril 2006 Franchement je ne comprend pas... 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.'
gontran Posté 26 Avril 2006 Auteur Posté 26 Avril 2006 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...
NorSeb Posté 26 Avril 2006 Posté 26 Avril 2006 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) ?
gontran Posté 26 Avril 2006 Auteur Posté 26 Avril 2006 (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é 26 Avril 2006 par gontran
NorSeb Posté 26 Avril 2006 Posté 26 Avril 2006 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
gontran Posté 26 Avril 2006 Auteur Posté 26 Avril 2006 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 ?
NorSeb Posté 26 Avril 2006 Posté 26 Avril 2006 Essaye SELECT COUNT(totalttc) as nb, SUM(totalttc) as total FROM comm_active WHERE id_cookie='.$id_cookie.'
gontran Posté 26 Avril 2006 Auteur Posté 26 Avril 2006 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
gontran Posté 26 Avril 2006 Auteur Posté 26 Avril 2006 Ok c'est bon ca fonctionne. c'est moi qui faisai n'importe quoi. désoler de vous avoir fais perdre votre temp
TheRec Posté 26 Avril 2006 Posté 26 Avril 2006 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à
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant