Ir para conteúdo
Fórum Script Brasil

rafascarvalho

Membros
  • Total de itens

    3
  • Registro em

  • Última visita

Tudo que rafascarvalho postou

  1. Pessoal, Agora deu certo. Para finalizar o tópico: Código que executa a troca: (...) } elseif(!empty($_GET['ChangeOrderUp'])){ $query = mysql_query("SELECT * FROM bar_restaurante_teste WHERE id = '".$_GET['ChangeOrderUp']."'") or die(mysql_error()); if(mysql_num_rows($query) > 0){ while($assoc = mysql_fetch_assoc($query)){ $id = $_GET['ChangeOrderUp']; $ordem = $assoc['ordem']; $novaordem = $ordem - 1; mysql_query("UPDATE bar_restaurante_teste SET ordem = ordem+1 WHERE ordem = '".$novaordem."'"); mysql_query("UPDATE bar_restaurante_teste SET ordem = '".$novaordem."' WHERE id = '".$id."'"); $msg = "<p align=\"center\">A ordem de ".$assoc['titulo']." foi definida como ".$novaordem."</p>"; } } else { $msg = "Erro ao alterar a ordem<br><br>"; } } elseif(!empty($_GET['ChangeOrderDown'])){ $query = mysql_query("SELECT * FROM bar_restaurante_teste WHERE id = '".$_GET['ChangeOrderDown']."'") or die(mysql_error()); if(mysql_num_rows($query) > 0){ while($assoc = mysql_fetch_assoc($query)){ $id = $_GET['ChangeOrderDown']; $ordem = $assoc['ordem']; $novaordem = $ordem + 1; mysql_query("UPDATE bar_restaurante_teste SET ordem = ordem-1 WHERE ordem = '".$novaordem."'"); mysql_query("UPDATE bar_restaurante_teste SET ordem = '".$novaordem."' WHERE id = '".$id."'"); $msg = "<p align=\"center\">A ordem de ".$assoc['titulo']." foi definida como ".$novaordem."</p>"; } } else { $msg = "Erro ao alterar a ordem<br><br>"; } E o código que chamar a ação ficou assim: <td><center> <?php if($assoc['ordem']>1){ ?> <a href="?ChangeOrderUp=<?php echo $assoc['id'];?>"><img src="img/subir.gif" width="8" height="6" alt="Subir" /></a> <?php } else { echo "<img src=\"../imagens/blank.gif\" width=\"8\" height=\"6\" />"; } ?> <?php echo $assoc['ordem'];?> <?php $sql0 = mysql_query("SELECT * FROM bar_restaurante_teste ORDER BY ordem DESC LIMIT 1"); $result = mysql_fetch_assoc($sql0); $ultimo = $result['ordem']; if($assoc['ordem']!=$ultimo){ ?> <a href="?ChangeOrderDown=<?php echo $assoc['id'];?>"><img src="img/descer.gif" width="8" height="6" alt="Descer" /></a> <?php } else { echo "<img src=\"../imagens/blank.gif\" width=\"8\" height=\"6\" />"; } ?> </center></td> Caso alguém tenha algo para acrescentar (ou melhorar a lógica do código), peço que poste. Caso contrário, pode colocar como resolvido. Agradeço a ajuda de todos!
  2. Sobre o UPDATE não tem problemas. A questão é que se eu fazer o UPDATE na forma que esta o código, eu terei dois ID com o campo=4. Eu precisaria fazer com que o campo que tivesse 4 virasse 5, 5 virasse 6, e assim como se fosse uma cadeia. Sobre o sql_injection não conehço sobre isso, vou dar uma pesquisada. Agradeço pela ajuda!
  3. Boa tarde pessoal, Sou iniciante, porém com muito esforço fiz um sistema para meu cliente ADM o conteudo do site, está tudo redondo, porém ele pediu que pudesse alterar a ordem dos itens de uma página. Exemplo: na página "parceiros", há o cadastro de vários itens, porém em determinado momento ele pode querer dar maior ênfase em um determinado parceiro, por isso ele deve aparecer um primeiro, e outro deve aparecer em 5º, assim por diante. Criei, e na tabela uma coluna chamada "ordem" na qual enumerei as linhas conforme ele pediu e dei um ORDER BY nela, porém quando for editar este campo preciso que ao alterar o valor dessa coluna de 4 para 1, automaticamente o campo que antes era 1, vire 2, o 2 vire 3, assim por diante. Ainda estou quebrando a cabeça. Por enquanto cheguei nesse resultado: if(!empty($_GET['ChangeOrder'])){ $query = mysql_query("SELECT * FROM bar_restaurante WHERE id = '".$_GET['ChangeOrder']."' ORDER BY ordem ASC LIMIT 1") or die(mysql_error()); if(mysql_num_rows($query) > 0){ while($assoc = mysql_fetch_assoc($query)){ $id = $_GET['ChangeOrder']; $ordem = $assoc['ordem']; if($operacao == "subir"){ $numero = -1; if($ordem > 1){ $novaordem = $ordem + $numero;} else { $novaordem = $ordem; } } else { $numero = 1; if($ordem == 1){ $novaordem = $ordem + $numero;} else { $novaordem = $ordem; } } $msg = "<p align=\"center\">A ordem de ".$assoc['titulo']." foi definida como ".$novaordem."</p>"; }} } else { $msg = "Erro ao alterar a ordem<br><br>"; } echo $msg; ?> Por enquanto esta dando certo. Eu fazendo o seguinte, passo a passo...rs.. Consegui mudar o item, porém não faço ideia de como alterar todos os itens.
×
×
  • Criar Novo...