fabiossmn 1 Denunciar post Postado Julho 24, 2012 olá pessoal, estou tendo dificuldades para estar criando um código que parece ser relativamente "simples". É mais ou menos assim: tenho os produtos cadastrados no banco de dados e cada um tem um campo que se refere a Status do produto, que quero mudá-los de Normal para Destaque, pois quando está em "Destaque", ele mostra um destes produtos na pagina inicial do Site, só que eu queria estar fazendo uma validação na hora de dar um Update no produto para que não tenha dois registros com o Status "Destaque", para nao aparecer dois produtos na pagina inicial. o codigo que estava fazendo seria mais ou menos assim: include("../includes/config.php"); $IDPort = $_GET['id']; $SelBancoPort = mysql_query("SELECT * FROM cestas WHERE IDCesta = '$IDPort'"); $Destaque = mysql_query("SELECT * FROM cestas WHERE StatusCesta = 'Destaque'"); $conta = mysql_num_rows($Destaque) >= 1; while($array = mysql_fetch_array($SelBancoPort)){ $id = $array['IDCesta']; $StatusCesta = $array['StatusCesta']; if($IDPort == $id){ if($SelBancoPort){ $Cadastrar = mysql_query("UPDATE cestas SET StatusCesta = 'Normal' WHERE IDCesta = '$IDPort'"); if($Cadastrar){ echo("<script language='javaScript'>window.location.href='../ger_produtos.php?acao=att&ex=jatem'</script>"); }else{ echo("<script language='javaScript'>window.location.href='../ger_produtos.php?acao=att&ex=erro'</script>"); } }else{ echo("<script language='javaScript'>window.location.href='../ger_produtos.php?acao=att&ex=erro'</script>"); } } }//fecha while estou no caminho certo? Compartilhar este post Link para o post Compartilhar em outros sites
fabiossmn 1 Denunciar post Postado Julho 25, 2012 não tem sentido o que tentou fazer... mas devdo ao esforço em querer fazer te mostrei um caminho simples e prático vamos começar pela lógica de progrmação que também é muito simples O seu modelo de negócios diz "só pode haver um marcado como "destaque" (highlighted)" na prática: UPDATE cesta SET StatusCesta = 'Normal' WHERE StatusCesta = 'Destaque'; Isso faz com que o registro marcado como Destaque seja removido do Destaque Em seguida, faça o UPDATE para o novo detaque UPDATE cesta SET StatusCesta = 'Destaque' WHERE IDCesta = '$IDPort'; só isso... nã tem necessidade de usar select, fazer loop no resourceid, etc... -------- Resolvido!!! Vlw hinom Compartilhar este post Link para o post Compartilhar em outros sites