Pessoal, preciso saber como faço para, ao final de um loop foreach, em que a cada volta do loop, se faça uma busca (omparação), caso nenhuma das buscas tenha retorno, aí farei um delete dasquele registro.
Bom, o loop é esse:
foreach($estoques_a_deletar as $deleta)
{
print "Cor: ".$deleta[1]." - ".$cores_produtos." Tamanho ".$deleta[2]." - ".$tamanhos_produtos."<br>";
if(!(($deleta[1]==$cores_produtos) and ($deleta[2]==$tamanhos_produtos)))
{
$deleta_estoque_string="delete from estoque where id_estoque=".$deleta[0];
print $deleta_estoque_string."<br>";
//$deleta_estoque_query= $conexao->query($deleta_estoque_string);
}
}
Esse loop esta dentro de um outro loop foreach que entrega, a cada volta, um valor para $cores_produtos e $tamanhos_produtos, que devem ser comparados com $deleta[1] e $deleta[2] consecutivamente.
E, se em nehum laço, houver a combinação, aí faço o delete do registro.
Como fazer isso?
Segue o codigo todo:
$pesquisa_cor_tamanho_string = "select id_estoque, id_cor, id_tamanho from estoque where id_produto=".$_POST["id_alt_produtos"];
$pesquisa_cor_tamanho_query = $conexao->query($pesquisa_cor_tamanho_string);
if ($pesquisa_cor_tamanho_query->num_rows!=0)
{
$estoques_a_deletar=array();
while($row = $pesquisa_cor_tamanho_query->fetch_row())
{$estoques_a_deletar[] = array_values($row); }
}
$estoque_a_deletar = array();
foreach ($_POST["cores_alt_produtos"] as $cores_produtos)
{
foreach ($_POST["tamanhos_alt_produtos"] as $tamanhos_produtos)
{
array_push($estoque_a_deletar,$cores_produtos);
array_push($estoque_a_deletar,$tamanhos_produtos);
$pesquisa_cores_tamanhos_string =
"select id_cor, id_tamanho, id_estoque from estoque where
id_cor=".$cores_produtos." and
id_tamanho=".$tamanhos_produtos." and
id_produto=".$_POST["id_alt_produtos"];
$pesquisa_cores_tamanhos_query = $conexao->query($pesquisa_cores_tamanhos_string);
if ($pesquisa_cores_tamanhos_query->num_rows==0)
{
$insere_cor_tamanho_string=
"insert into estoque (id_produto, id_cor, id_tamanho)
values (".$_POST["id_alt_produtos"].",".$cores_produtos.",".$tamanhos_produtos.")";
}
print $pesquisa_cores_tamanhos_string."<br>";
//$insere_cor_tamanho_query = $conexao->query($insere_cor_tamanho_string);
if(isset($estoques_a_deletar))
{
foreach($estoques_a_deletar as $deleta)
{
print "Cor: ".$deleta[1]." - ".$cores_produtos." Tamanho ".$deleta[2]." - ".$tamanhos_produtos."<br>";
if(!(($deleta[1]==$cores_produtos) and ($deleta[2]==$tamanhos_produtos)))
{
$deleta_estoque_string="delete from estoque where id_estoque=".$deleta[0];
print $deleta_estoque_string."<br>";
//$deleta_estoque_query= $conexao->query($deleta_estoque_string);
}
}
}
}
}
Pergunta
Carlos Rocha
Pessoal, preciso saber como faço para, ao final de um loop foreach, em que a cada volta do loop, se faça uma busca (omparação), caso nenhuma das buscas tenha retorno, aí farei um delete dasquele registro.
Bom, o loop é esse:
Esse loop esta dentro de um outro loop foreach que entrega, a cada volta, um valor para $cores_produtos e $tamanhos_produtos, que devem ser comparados com $deleta[1] e $deleta[2] consecutivamente. E, se em nehum laço, houver a combinação, aí faço o delete do registro. Como fazer isso? Segue o codigo todo:Link para o comentário
Compartilhar em outros sites
2 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.