Jump to content
IvanGS

Array's...

Recommended Posts

IvanGS

Boas pessoal, eu sei que este problema é básico, mas já estou farto de pesquisar e não dá nada...

é assim eu estou a ir buscar uns certos dados a uma BD em SQL, e a mete-los num array, até aí funciona, mas eu quero que no fim do ciclo while ele some os valores todos do array...

ja experimentei o

 echo "soma dos valores = ".array_sum($array_de_valore)."</br>";

e não dá :S

alguém me pode ajudar?

Share this post


Link to post
Share on other sites
brunoais

A razão para isso é muito simples. O valor de uma string pode ser 0, às vezes. Testa isto:

$resultado = 0;
foreach($array_de_valore AS $valor){
    $resultado += $valor;

}

Se não der fatal error, essa é a melhor maneira. senão:

$resultado = 0;
foreach($array_de_valore AS $valor){
    $resultado += (int) $valor;

}

Assim não dá erro mas tudo o q n der para passar a número fica a 0.


"[Os jovens da actual geração]não lêem porque não envolve um telecomando que dê para mirar e atirar, não falam porque a trapalhice é rainha e o calão é rei" autor: thoga31

Life is a genetically transmitted disease, induced by sex, with death rate of 100%.

Share this post


Link to post
Share on other sites
IvanGS

continua sem dar :S

este é o código:

	$conta="1";
	$sql_packs_extra=mysql_query("SELECT * FROM packs_adicionais");
	while($resultado_sql_packs_extra = mysql_fetch_assoc($sql_packs_extra))
		{

			$nome_cliente = $resultado_sql_packs_extra['nome_cliente'];
			echo "Nome de cliente: ".$nome_cliente."</br>";
			$corres_pack = $resultado_sql_packs_extra['corres'];
			$normal_pack = $resultado_sql_packs_extra['normal'];
			$normal_registado_pack = $resultado_sql_packs_extra['normal_registado'];
			$normal_registado_AR_pack = $resultado_sql_packs_extra['normal_registado_AR'];
			$azul_pack = $resultado_sql_packs_extra['azul'];
			$verde_pack = $resultado_sql_packs_extra['verde'];
			$doc_inf_guard_pack = $resultado_sql_packs_extra['doc_inf_guard'];
			$fotocopia_pack = $resultado_sql_packs_extra['fotocopia'];
			$imp_pack = $resultado_sql_packs_extra['imp'];
			$dig_pack = $resultado_sql_packs_extra['dig'];
			$folha_br_pack = $resultado_sql_packs_extra['folha_br'];
			$enviado_pack = $resultado_sql_packs_extra['enviado'];
			$redebido_pack = $resultado_sql_packs_extra['redebido'];
			$telefone_pack = $resultado_sql_packs_extra['telefone'];
			$sala_form_pack = $resultado_sql_packs_extra['sala_form'];
			$escritorio_pack = $resultado_sql_packs_extra['escritorio'];
			$fact_orc_pack = $resultado_sql_packs_extra['fact_orc'];	
			$colocar_online_pack = $resultado_sql_packs_extra['colocar_online'];
			$dig_colocar_online = $resultado_sql_packs_extra['dig_colocar_online'];

			$total_packs_extra = $corres_pack + $normal_pack + $normal_registado_pack + $normal_registado_AR_pack + $azul_pack + $verde_pack + $doc_inf_guard_pack + $fotocopia_pack + $imp_pack + $dig_pack + $folha_br_pack + $enviado_pack + $redebido_pack + $telefone_pack + $sala_form_pack + $escritorio_pack + $fact_orc_pack + $colocar_online_pack + $dig_colocar_online_pack;
			$array_de_valores = array($conta => $total_packs_extra);
				$resultado = 0;
				foreach($array_de_valores AS $valor){
					$resultado += $valor;
					echo "Resultado: ".$resultado."</br>";
					echo "Valor: ".$valor."</br>";

				}
			$conta++;
	}

o que eu quero é que no fim pegue nos valores todos do array e os some...

Share this post


Link to post
Share on other sites
IvanGS

eu sei, mas isso está assim na BD :S

enganei-me a escrever... e alterar isso implicava alterar praticamente algumas 100 paginas...

mas isso funciona perfeitamente, aliás noutras páginas eu crio PDF's com essas variaveis e não ha problema...

Share this post


Link to post
Share on other sites
brunoais

Qual é o output dele?

Qual é o output que ele devia mostrar?


"[Os jovens da actual geração]não lêem porque não envolve um telecomando que dê para mirar e atirar, não falam porque a trapalhice é rainha e o calão é rei" autor: thoga31

Life is a genetically transmitted disease, induced by sex, with death rate of 100%.

Share this post


Link to post
Share on other sites
IvanGS

isto é o output que está a dar:

Nome de cliente: Medipura

Valor contratado: 2011.55

Nome de cliente: zineo

Valor contratado: 2082.55

Nome de cliente:

Nome de cliente: zineo

Resultado: 67.5

Valor: 67.5

Nome de cliente: zineo

Resultado: 22.5

Valor: 22.5

Nome de cliente: zineo

Resultado: 105

Valor: 105

Nome de cliente: zineo

Resultado: 22.5

Valor: 22.5

Nome de cliente: zineo

Resultado: 17.5

Valor: 17.5

Correspondencia em crédito: 89

isto é o que deveria dar:

Nome de cliente: Medipura

Valor contratado: 2011.55

Nome de cliente: zineo

Valor contratado: 2082.55

Nome de cliente:

Nome de cliente: zineo

Nome de cliente: zineo

Nome de cliente: zineo

Nome de cliente: zineo

Nome de cliente: zineo

Resultado: 235

Correspondencia em crédito: 89

Share this post


Link to post
Share on other sites
yoda

$total_packs_extra = (float) $corres_pack
                                + (float) $normal_pack
                                + (float) $normal_registado_pack
                                + (float) $normal_registado_AR_pack
                                + (float) $azul_pack
                                + (float) $verde_pack
                                + (float) $doc_inf_guard_pack
                                + (float) $fotocopia_pack
                                + (float) $imp_pack
                                + (float) $dig_pack
                                + (float) $folha_br_pack
                                + (float) $enviado_pack
                                + (float) $redebido_pack
                                + (float) $telefone_pack
                                + (float) $sala_form_pack
                                + (float) $escritorio_pack
                                + (float) $fact_orc_pack
                                + (float) $colocar_online_pack
                                + (float) $dig_colocar_online_pack;

Isto pode ser feito no SQL directamente.

Fazia-te bem trabalhar sobre uma framework e seguir um padrão, na minha opinião.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.