Compter les variables

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Compter les variables

Re: Compter les variables

par moogli » 11 avr. 2013, 13:51

pour la somme on fait simple array_sum

pour la forme Fre3z69, ce que tu cherche à faire ce fait ave implode (sans l'affichage dde chaque valeur qui ici est pour l'exemple ?)
<?php
$table  =  array('25','70','90','52');
echo implode(',',$table); // 25,70,90,52
?>

@Isabella : $count_monaie=$c+$count_monaie; peux être remplacé par $count_monaie += $c; :D

si j'ai bien compris ton problème c'est de pouvoir stocker (pour afficher ensuite) la somme des impayés

au final ton code serais ainsi, ceci dit j'ai pas vraiment compris l'interet du dernière commentaire (car dans ce cas, a cette emplacement il y a double emploi avec message) donc j'ai affiché le total en dehors des deux while.
<?php
$qr = "select * from lieu where idscat='" . $_POST['idscat1'] . "' and idcollaborateur='" . $_POST['idcol'] . "' $orderdate";
$resup = execute_sql($qr);
echo $qr;

$totalImpayes = 0;
while ($row = mysql_fetch_array($resup)) {
// tous çac'est inutile utilise directement $row quand tu as besoin d'une valeur
    $ordre = $row['ordre'];
    $adresse = $row["adresse"];
    $idmodif = $row["id"];
    $nom = $row["nom"];
    $ht = $row["ht"];
    $ville = $row["ville"];
    $format = $row['FORMAT'];
    $numfact = $row['numfact'];
    $montant_lettre = $row['montant_lettre'];
    $com_acompte1 = virgule($row['com_acompte1']);
    $var_acompte1 = 0;
    $com_acompte2 = virgule($row['com_acompte2']);
    $com_acompte3 = virgule($row['com_acompte3']);
    $montant_ht = virgule($row['ht']);
    $cp = $row['cp'];
    $date_finalpub = $row['date_finalpub'];
    $idcollaborateur = $row['idcollaborateur'];
    $idsupport = $row['idcat'];
    $com = $row['com'];
//REQUET CHERCHE COURTIER
    $qcourtier = 'select * from collaborateur where idcat=\''.mysql_real_escape_string($idcollaborateur).'\''; // on protège les requêtes
    $qresc = execute_sql($qcourtier);
    $rowc = mysql_fetch_array($qresc); // pas de whil tu n'as, normalement qu'une seule valeur, de toute façon le code ne gardé que la dernière valeur retournée par la requête. 
    $courtier = $rowc['categorie'];

    $rq = "select * from scategorie where idscat='" . mysql_real_escape_string($_POST['idscat1']) . "'"; // est du sure que $_POST['idscat1'] existe ?
    $resrq = execute_sql($rq);
    while ($row = mysql_fetch_array($resrq)) {
        $nom_cat = $row['scategorie'];
        $monaie = $row['monaie'];
        $tva = $row['tva']; // PEUT ETRE A 19.6 OU AUTRES


        $calculcom = $montant_ht * $com / 100; // exemple 300

        $resultat_com = virgule($calculcom);
        $ttc = virgule($resultat_com);

// calcul acompte si les accompte = a la somme du c'est ok
        $acomptefinal = virgule($com_acompte1 + $com_acompte2 + $com_acompte3);
        if ($acomptefinal == 0) {
            $du = $ttc;
        } else {
            $calculdu = $ttc - $acomptefinal;
            $du = virgule($calculdu);
        }

// SI ACOMPTE 1
//@MAIL("");

// SI C PAS UNE APPLI ON MET PAS LA DATE DE FIN DE PUB
        if ($idsupport == 1) {
            $datedesfinpub = "fin-pub:<b>$date_finalpub</b>";
        } else {
            $datedesfinpub = "";
        }

        if ($acomptefinal < $ttc) {
// condition sur  Les clients  IMPAYER
            $totalImpayes += $acomptefinal;
//            $totaux = virgule($ttc - $acomptefinal); // FONCTION VIRGULE (affiche 2 ch apres la virgule)
            $toto = number_format(str_replace(',', '.', $ttc - $acomptefinal), 2); // c'est natif ;)
            echo "<table border=0 width=100% cellspanding=0><tr><td width=10%> <B>$ordre</b></td><td width=40%><a href=index.php?pages=modif_lieu2&idmodif=$idmodif>$nom</a><br><br>
            (<b>$ville</b>)<br></td><td>$courtier</b></td><td>$datedesfinpub</td><td> doit : $toto <b>$monaie T.T.C</b></td></tr></table><hr size=1> ";
        }
// ET ICI DONC AFFICHER  LA SOMME ADDITIONER DU RÉSULTAT CI DESSUS GLOBALE DE "$monaie" qui se trouve dans le tableau de : $message 
        
    }
}

echo 'Au total il y a ', $totalImpayes, ' d\'impayés';
il est possible d'avoir le total par ligne du 1er while. Pour cela il faut mettre le dernier echo avant la dernière } (ligne 77) et déplacer le $totalImpayes = 0; ligne8 (enfin au début du 1er while).

@+

Re: Compter les variables

par Fre3z69 » 10 avr. 2013, 22:51

Je reviens sur ce que je t'est dis

Pour attribuer une valeur à chaine, il faut être dans ta boucle

Par exemple:
$table  =  array('25','70','90','52'); // on détermine ici un tableau, mais il peux s'agir de valeur en BdD ça fonctionnerais pareil

foreach ($table as $c){ // on lance la boucle

/* traitement avants si il y a */

$chaine = $c . ',';
echo $chaine;
/* Traitements après si il y a */

}

En espérant que ça sois correct et que ça t'aide

Cordialement

Re: Compter les variables

par Fre3z69 » 10 avr. 2013, 18:52

Je pense qu'un truc du genre , mais plus développé peux faire l'affaire:
$chaine = $monaie . ',';
il s'agit ici de virer la dernière "," de la liste pour éviter une erreur, mais je ne me souviens plus comment faire, bien que je suis pas sur aussi pour l'erreur, teste donc!

Re: Compter les variables

par Isabela » 09 avr. 2013, 13:00

Bonjour merci pour votre soutien j'ai une question,

dans $table du array comment j’intègre les données $monaie dans le array()? exemple : (car $monaie va afficher 50, 154,200 enfin sans les virgules tous les montants listé via les conditions.
<?php
$table  =  array('$monaie,"); // on détermine ici un tableau, mais il peux s'agir de valeur en BdD ça fonctionnerais pareil

$count_monaie = 0; // on initialise $count_monaie à 0, afin d'être sur de ne pas fausser le resultat
foreach ($table as $c){ // on lance la boucle

        /*
         * On effectue une opération
         * On définit $count_monaie =  $c (la valeur du tour de boucle) au quel on additionne $count_monaie
         * On nome la variable $count_monaie de manière à , à chaque tour de boucle, donner la somme à $count_monaie définit avant la boucle
         * Ainsi, à chaque tour de boucle on additionne $count_monaie, et on obtient ainsi le résultat total sur l’ensemble des items du tableau
        */
        $count_monaie=$c+$count_monaie;

}
echo $count_monaie;  // on sort de la boucle et on affiche $count_monaie
?>

Merci

Re: Compter les variables

par Fre3z69 » 22 mars 2013, 02:31

Voici un début de script qui permet d'additionner le résultat d'un tableau

C'est avec un foreach, mais ça fonctionnerais pareil avec ton while.
<?php
$table  =  array('25','70','90','52'); // on détermine ici un tableau, mais il peux s'agir de valeur en BdD ça fonctionnerais pareil

$count_monaie = 0; // on initialise $count_monaie à 0, afin d'être sur de ne pas fausser le resultat
foreach ($table as $c){ // on lance la boucle

	/*
	 * On effectue une opération
	 * On définit $count_monaie =  $c (la valeur du tour de boucle) au quel on additionne $count_monaie
	 * On nome la variable $count_monaie de manière à , à chaque tour de boucle, donner la somme à $count_monaie définit avant la boucle
	 * Ainsi, à chaque tour de boucle on additionne $count_monaie, et on obtient ainsi le résultat total sur l’ensemble des items du tableau
	*/
	$count_monaie=$c+$count_monaie;

}
echo $count_monaie;  // on sort de la boucle et on affiche $count_monaie
?>
Si tu fait l'addition suivante "25+70+90+52" tu obtient bien "237", donc ça fonctionne ^^

En espérant de pas m'être tromper, et si c'est le cas, que je serais corrigé, j’espère que ça pourras t'aider

Cordialement

Re: Compter les variables

par Fre3z69 » 22 mars 2013, 02:05

salut,

Je rejoins damien_55, c'est toujours pas très clair ^^

Mais bon on va tenter de faire avec

Je vais tenter de t'expliquer simplement, ce que j'ai posté auparavant n'était pas correct.

Cordialement

Re: Compter les variables

par Isabela » 21 mars 2013, 12:50

En fait,

$message

Affiche le resultat des impayés, dans ce tableau il y a par exemple 3 clients qui n'ont pas payé avec la somme restantes ($monaie).
Et je voudrai additionner $monaie qui est dans le tableau pour avoir la totalité de la somme impayer.

le problème c'est que je bloque parce que je ne sais pas comment additionner la même variable ($monaie) qui est différente de l'identifiant client bien sur ($monaie) a l'affichage du resultat

Re: Compter les variables

par damien_55 » 21 mars 2013, 12:33

Bonjour,

J'ai toujours pas compris ce que tu voulais mais je suis rassuré, manifestement je ne suis pas le seul. Outre tes problèmes quand tu expliques ce que tu veux faire, c'est meme pas bien écris !

genre: Est il possible d’additionné une même variable dans le résultat sans passé par une requette a cause des conditions qui affiche les impayés. ??
Est ce que tu veux dire, ajouter une variable telle une addition? A noter qu'une variable peut etre une somme, une multiplication, une division d'autres variables.

Et lors cette phrase: Dans cette requette si je ne fait pas les conditions, cela m'affiche plusieurs résultat normal, mais selon mais conditions, exemple ci dessous après la requette
ça doit m'en afficher 3 ou 4 ou un peu plus et dans ce résultat on sait que $monaire = a une somme et je voudrai additionner cette variable à la fin des 3 ou 4 résultats se le nombre d'impayer, pour m'afficher la somme global du resultat de la somme impayé. C'est du charabia, ça ne veux rien dire!

Quoiqu'il en soit, au vu de ton code fourni, tu as accés à ta base de données, tu as récuperé tes champs utiles donc soit tu fais une requete sql pour faire ton adition soit tu la fais en php en fonction des variables récupérées et des résultats générés.

Donc si j'ai bien compris cette phrase, Est il possible d’additionné une même variable dans le résultat sans passé par une requette a cause des conditions qui affiche les impayés.



Si tu as récupéré toutes les infos utiles a ton calcul dans ta base, tu n'es pas obligé de faire une requete pour faire une addition, tu peux la faire tout simplement en php.

Re: Compter les variables

par Isabela » 21 mars 2013, 11:45

Bonjour tous le monde,
Voila ci dessous la source la requette demandé c'est une galére pour moi a expliquer lol mais je pense que la vous comprendrez en fait les conditions permettes de savoir si ça été tout payé ou pas (en gros le but est de calculer la sommes des impayés).
Est il possible d’additionné une même variable dans le résultat sans passé par une requette a cause des conditions qui affiche les impayés.

Dans cette requette si je ne fait pas les conditions, cela m'affiche plusieurs résultat normal, mais selon mais conditions, exemple ci dessous après la requette
ça doit m'en afficher 3 ou 4 ou un peu plus et dans ce résultat on sait que $monaire = a une somme et je voudrai additionner cette variable à la fin des 3 ou 4 résultats se le nombre d'impayer, pour m'afficher la somme global du resultat de la somme impayé ...
$qr="select * from lieu where idscat='".$_POST['idscat1']."' and idcollaborateur='".$_POST['idcol']."' $orderdate";
$resup=execute_sql($qr);
echo $qr;

while($row=mysql_fetch_array($resup))
        	{
				
			$ordre=$row['ordre'];
		    $adresse=$row["adresse"];		
			$idmodif=$row["id"];
            $nom=$row["nom"];
			$ht=$row["ht"];
			$ville=$row["ville"];
			$format=$row['FORMAT'];
			$numfact=$row['numfact'];
			$montant_lettre=$row['montant_lettre'];
			$com_acompte1=virgule($row['com_acompte1']);
			$var_acompte1=0;
			$com_acompte2=virgule($row['com_acompte2']);
			$com_acompte3=virgule($row['com_acompte3']);
			$montant_ht=virgule($row['ht']);
			$cp=$row['cp'];
			$date_finalpub=$row['date_finalpub'];
			$idcollaborateur=$row['idcollaborateur'];
			$idsupport=$row['idcat'];
			$com=$row['com'];
			//REQUET CHERCHE COURTIER
			$qcourtier="select * from collaborateur where idcat='$idcollaborateur'";
			$qresc=execute_sql($qcourtier);
			while($rowc=mysql_fetch_array($qresc)){
			$courtier=$rowc['categorie'];
			}
		

			$rq="select * from scategorie where idscat='".$_POST['idscat1']."'";
			$resrq=execute_sql($rq);
			while($row=mysql_fetch_array($resrq))
			{
			$nom_cat=$row['scategorie'];
			$monaie=$row['monaie'];
			$tva=$row['tva']; // PEUT ETRE A 19.6 OU AUTRES
			
	
			$calculcom=$montant_ht*$com/100; // exemple 300
            
			
			$resultat_com=virgule($calculcom);
			$ttc=virgule($resultat_com);
			
			// calcul acompte si les accompte = a la somme du c'est ok
			$acomptefinal=virgule($com_acompte1+$com_acompte2+$com_acompte3);
			if($acomptefinal==0){
				$du=$ttc;
				
}

			else{
				
				$calculdu=$ttc-$acomptefinal;
				$du=virgule($calculdu);
			}
			
			
			
		// SI ACOMPTE 1
		//@MAIL("");
		
		
	// SI C PAS UNE APPLI ON MET PAS LA DATE DE FIN DE PUB
		if($idsupport==1){
			$datedesfinpub="fin-pub:<b>$date_finalpub</b>";
		}
		else
		{
		$datedesfinpub="";
		}

		if($acomptefinal < $ttc )
		{
		
			// condition sur  Les clients  IMPAYER
			
		  
			$somme=$acomptefinal;
			
			$totaux=virgule($ttc-$somme); // FONCTION VIRGULE (affiche 2 ch apres la virgule)
			
			$message="<table border=0 width=100% cellspanding=0><tr><td width=10%> <B>$ordre</b></td><td width=40%><a href=index.php?pages=modif_lieu2&idmodif=$idmodif>$nom</a><br><br>
			(<b>$ville</b>)<br></td><td>$courtier</b></td><td>$datedesfinpub</td><td> doit : $totaux <b>$monaie T.T.C</b></td></tr></table><hr size=1> ";
			
			// AFFICHE LE RESULTAT DES CLIENT IMPAYERS
			echo $message;
}
// ET ICI DONC AFFICHER  LA SOMME ADDITIONER DU RÉSULTAT CI DESSUS GLOBALE DE "$monaie" qui se trouve dans le tableau de : $message 

Voilà j’espère que c'est plus claire pour tous :)
Merci

Re: Compter les variables

par Fre3z69 » 21 mars 2013, 05:25

Salutation,

Si je peux me permettre, explique nous mieux ton problème
Bonjour,

On me demande de calculer le montant mais que je ne peux calculer avec une requette sql, car il y a des conditions d'affichage apres cet requette sql.

en faite je voudrai compter le montant qui se trouve dans la liste que j'affiche.
$somme=$acomptefinal;
			
			$totaux=virgule($ttc-$somme);
			
			$message="<table border=0 width=100% cellspanding=0><tr><td width=10%> <B>$ordre</b></td><td width=40%><a href=index.php?pages=modif_lieu2&idmodif=$idmodif>$nom</a><br><br>
			(<b>$ville</b>)<br></td><td>$courtier</b></td><td>$datedesfinpub</td><td> doit : $totaux <b>$monaie T.T.C</b></td></tr></table><hr size=1> ";
	echo $message;
/*RESULTAT DONNE CI DESSOUS sans tout le tableau html biensur
1500.00 TTC
1250.00 TTC
ici afficher le taux
*/
Exemple CI-DESSUS je voudrai pouvoir aditionner la totalité de la variable "$monaie" mais comment? svp?
Merci d'avance @ tous
La truc quand on vois ça, il n'y a pas assez d'infos.

Il manque le code annexe à ce que tu nous a montré, et dans ton explication, il manque le "schéma de fonctionnement"

Ce que j’entends pas schéma de fonctionnement, c'est par exemple:
Salut,

Je travail sur un projet scolaire dans le quel je dois réaliser un script qui permet de comptabiliser, afficher et détailler toutes les recettes d'un magasin pour une période donnée.

On dois pouvoir Afficher le détail objet par objet, et ensuite faire le compte de tous les objets et le compte total en prenant en compte les taxes et les éventuelles frais de casses ...

Voici la requête sql et le code HTML qui me permet de lister les objets vendus et leur prix
... (pour l'exemple)
Je sais que je ne suis pas très bien placer pour te dire ça, mais je te le dis afin que tu puisse optimiser les réponses qui te permettront d'avancer.

Bonne continuation

Cordialement

Re: Compter les variables

par Isabela » 21 mars 2013, 01:25

bonsoir ,

merci d'avoir pu mettre votre nez dans mon probleme.

je ne peux effectuer un sum() as etcc ds la requette.

la requette est faite pour afficher une liste
et avant d'afficher le tableau ou se trouve $monaie

en fait $monaie donne un chiffre exemple 1500.00

mais avec mes conditions apres la requette la liste affiche seulement 3 sur 10 montant par exemple de $monaie
et donc je voudrai aditioner $monaie et non dans la requete vue que la requette doit prendre
les chiffres et autres pour que je face les conditions qui me permette d'afficher 3 montant au lieu des 10.
comment aditionner $monaie ?

si besoin je mettrais plus de source.

Re: Compter les variables

par cachouet » 20 mars 2013, 17:57

j'ai pas bien compris t'as question
mais pour additionner les informations qui sont dans ta base.
beh tu fais une requête sql.

du genre :
SELECT sum(cout) FROM tarifs WHERE voiture="BMW";
donc ca te donne un truk cdans genre la par exemple :
<?php
$requete = "SELECT sum(cout) FROM tarifs WHERE voiture="BMW";
$req_exec = mysql_query($requete) or die (mysql_error());
$monaie = mysql_fetch_assoc($req_exec);
echo $monaie;
?>
sinon j'ai pas vraiment compris c'est quoi cette variable "$monaie" ou encore ce que tu cherches a faire.

Re: Compter les variables

par sam12 » 20 mars 2013, 17:25

Pour faire une somme via sql ça se fait avec SUM => http://www.w3schools.com/sql/sql_func_sum.asp ;)

Re: Compter les variables

par damien_55 » 20 mars 2013, 17:15

bonjour,

Rien compris ! C'est quoi la question ?

C'est quoi les variables a additionné?

Code : Tout sélectionner

/*RESULTAT DONNE CI DESSOUS sans tout le tableau html biensur 1500.00 TTC 1250.00 TTC ici afficher le taux */
C'est quoi ça? a quoi ça sert ?

Merci d'être plus clair, svp.

Compter les variables

par Isabela » 20 mars 2013, 17:05

Bonjour,

On me demande de calculer le montant mais que je ne peux calculer avec une requette sql, car il y a des conditions d'affichage apres cet requette sql.

en faite je voudrai compter le montant qui se trouve dans la liste que j'affiche.
$somme=$acomptefinal;
			
			$totaux=virgule($ttc-$somme);
			
			$message="<table border=0 width=100% cellspanding=0><tr><td width=10%> <B>$ordre</b></td><td width=40%><a href=index.php?pages=modif_lieu2&idmodif=$idmodif>$nom</a><br><br>
			(<b>$ville</b>)<br></td><td>$courtier</b></td><td>$datedesfinpub</td><td> doit : $totaux <b>$monaie T.T.C</b></td></tr></table><hr size=1> ";
	echo $message;
/*RESULTAT DONNE CI DESSOUS sans tout le tableau html biensur
1500.00 TTC
1250.00 TTC
ici afficher le taux
*/
Exemple CI-DESSUS je voudrai pouvoir aditionner la totalité de la variable "$monaie" mais comment? svp?
Merci d'avance @ tous