Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Carcleo

lógico

Recommended Posts

Pessoal.

O código abaixo:

         if(isset($estoque_a_deletar_base))
	  {
		$deleta = false;		

		foreach ($estoque_a_deletar_base as $base_a_deletar) 
		{ 
		  $indice = 0;

		  for ($i=1; $i<=count($estoque_a_deletar_form)/2; $i++)
		  {

			  print "Cor base: ".$base_a_deletar[1]." e Cor form: ".$estoque_a_deletar_form[$indice]."<br />Tamanho base: ".$base_a_deletar[2]." e Tamanho form: ".$estoque_a_deletar_form[$indice+1]."<br />";


			  if(($base_a_deletar[1]==$estoque_a_deletar_form[$indice]) and ($base_a_deletar[2] == $estoque_a_deletar_form[$indice+1]))
			  {
				  $deleta=true; 
				  break;
			  }

			  $indice = $indice+2;
		  }

             print "Delete: ".$deleta."<br><br>"; //Todos os valores estao chegando como que o valor de delete=1 e não true

		  if ($deleta==false)
		  {
			  $deleta_estoque_string = "delete from estoque where id_estoque=".$base_a_deletar[0];
			  print $deleta_estoque_string."<br>";
		  }

		 }
	   }

Esta, neste momento, produzindo a seguinte saida:

Cor base: 1 e Cor form: 1 | Tamanho base: 1 e Tamanho form: 1
Delete: 1

Cor base: 3 e Cor form: 1 | Tamanho base: 1 e Tamanho form: 1
Cor base: 3 e Cor form: 1 | Tamanho base: 1 e Tamanho form: 5
Delete: 1

Cor base: 1 e Cor form: 1 | Tamanho base: 5 e Tamanho form: 1
Cor base: 1 e Cor form: 1 | Tamanho base: 5 e Tamanho form: 5
Delete: 1

Cor base: 3 e Cor form: 1 | Tamanho base: 5 e Tamanho form: 1
Cor base: 3 e Cor form: 1 | Tamanho base: 5 e Tamanho form: 5
Delete: 1

Acontece, que a varivel delete é boolena,e não estou conseguindo receber seu valor direito. Ou ela vem como 1 ou vem vazia.

 

Observem a saida:

 

Na primeira linha, não houve duas linhas pois, na primeiro volta do for, constatou-se uma igualdade entre os valores e então, conforme o codigo, era para parar.

 

contece, que mesmo assim, não consegui recuperar a variavel delete como true.

 

Onde estará o erro?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não posso usar exit(1) pois isso pararia todo o codigo abaixo(sim, eu fiz o teste). Preciso que pare apenas uma volta do loop

 

Sim. Agora deu certo:

 

         if(isset($estoque_a_deletar_base))
	  {

		foreach ($estoque_a_deletar_base as $base_a_deletar) 
		{ 
		  $indice = 0;
    		  $deleta = false;		

		  for ($i=1; $i<=count($estoque_a_deletar_form)/2; $i++)
		  {

			  //print "Cor base: ".$base_a_deletar[1]." e Cor form: ".$estoque_a_deletar_form[$indice]." | Tamanho base: ".$base_a_deletar[2]." e Tamanho form: ".$estoque_a_deletar_form[$indice+1]."<br />";


			  if(($base_a_deletar[1]==$estoque_a_deletar_form[$indice]) and ($base_a_deletar[2] == $estoque_a_deletar_form[$indice+1]))
			  {
				  $deleta=true; 
				  break;
			  }

			  $indice = $indice+2;
		  }

             //print "Delete: ".$deleta."<br><br>"; //Todos os valores estao chegando como que o valor de delete=1 e não true

		  if (!$deleta)
		  {
			  $deleta_estoque_string = "delete from estoque where id_estoque=".$base_a_deletar[0];
			  $deleta_estoque_query =  $conexao->query($deleta_estoque_string);		  
		  }

		 }
	   }

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.