Display success message once in for loop

Asked

Viewed 151 times

0

I have the code:

 for ($i=0; $i < count($descricao); $i++) {

			$id_caixa_hoje = $linha['id_caixa_hoje'];  
			$valor_formatado[$i] = abs($valor[$i]);  

			

 		$inserir = mysql_query("INSERT INTO caixa_valores_extras (id_caixa, valor, descricao, funcionario) VALUES ('$id_caixa_hoje', '$valor_formatado[$i]', '$descricao[$i]', '$id_sessao')") or die("Erro: ".mysql_error());

       if($inserir == true){

       	echo "<script>alert('Informações gravadas com sucesso');</script><meta http-equiv='refresh' content='0'>";
       
       } else {

       	echo "<script>alert('Erro. Falha ao gravar as Informações:');</script><meta http-equiv='refresh' content='0'>";

       } // Esta chave fecha o  if($inserir == true){

        } // Esta chave fecha o laço for         

For example, if in my form I repeat a certain given 3 times,

inserir a descrição da imagem aqui

instead of php displaying the success message only once, it displays the three times.

How can I get a single success message to be displayed at the end of the three INSERT process.

inserir a descrição da imagem aqui

3 answers

1


Example - ideone

if ($i==(count($descricao)-1)){
   echo "<script>alert('Informações gravadas com sucesso');</script><meta http-equiv='refresh' content='0'>";
}

1

You have to create a control variable (auxiliary), to stay inside the loop, and the IF that displays the success message must leave the loop.

0

works tmb!

for ($i=0; $i < count($descricao); $i++) {

			$id_caixa_hoje = $linha['id_caixa_hoje'];  
			$valor_formatado[$i] = abs($valor[$i]);  

			

 		$inserir = mysql_query("INSERT INTO caixa_valores_extras (id_caixa, valor, descricao, funcionario) VALUES ('$id_caixa_hoje', '$valor_formatado[$i]', '$descricao[$i]', '$id_sessao')") or die("Erro: ".mysql_error());

       if($inserir == true){

       	$t =1;
       
       } else {

       	$t=0;

       } // Esta chave fecha o  if($inserir == true){

        } // Esta chave fecha o laço for        
        if($t==1){
echo "<script>alert('Informações gravadas com sucesso');</script><meta http-equiv='refresh' content='0'>";
}
else {
echo "<script>alert('Erro. Falha ao gravar as Informações:');</script><meta http-equiv='refresh' content='0'>";
}

Browser other questions tagged

You are not signed in. Login or sign up in order to post.