Ir para conteúdo

POWERED BY:

Arquivado

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

Wesley F Souza

Fazer update dinamicamente com get se tiver 0 vai pra 1 se for 1 atu 0

Recommended Posts

É assim fiz um get e queria que nesse get ao clicar se o valor for 0 ele vá para 1 e se for 1 ele vai para 0

fiz assim:

    <?
                if(isset($_GET['mudar'])){
                 $mudarget = $_GET['mudar'];


                       if($_GET['mudar'] =='0') {
$mudaressa='1';
}
if($_GET['mudar'] =='1') {
$mudaressa='0';
}
$mudar = mysql_query ("UPDATE corys SET upis='$mudaressa' WHERE id='$mudar'");           
}
               ?>
/////Lá em cima fiz o while, só lembrando :)

echo '<td><a href="upis.php?mudar='.$linklis['id'].'">Mudar</a></td>';

mas ele não atualiza, se tiver 0 ele fica 0 se tiver 1 ele atualiza e vai pra 0, mas a questão é: se tiver 0 ele nao atualiza para 1 :S

Alguém dá uma ajuda?

Compartilhar este post


Link para o post
Compartilhar em outros sites

eu faria isso da seguinte forma primeiro eu iria fazer um mysql query depois um loop pra puxar os campos logo apos eu iria fazer um if dessa modo:

 

if($variavelquepucheiatravesdoloop == "1"){

 

ou voce pode usar o comando empty,que verifica se ha valor ou esta vazia:

 


<?php
$var = 0;

// Será interpretado como true, porque $var é um valor vazio
if (empty($var)) {
   echo '$var é um dos valores: 0, empty ou uma variável inexistente';
}

// Será interpretado como true porque $var está 'setado'
if (isset($var)) {
   echo '$var está "setado" apesar de vazio';
}
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

<?php
  if(isset($_GET['mudar'])){
     $mudarget = $_GET['mudar'];
     $sql = mysql_query("update `corys` set `upis` = if ({$mudarget} = 1, 0 ,1 ) WHERE `id`={$mudar}") or die(mysql_error());
  }
?>

adapte

Compartilhar este post


Link para o post
Compartilhar em outros sites

outro exemplo de empy pra você poder entender melhor vamos supor da seguinte maneira:

 

$sql_leto = mysql_query("SELECT * FROM chat_instant WHERE id_user_receive = '$nts' AND id_user_send = '$ids'");
while($rooty = mysql_fetch_array($sql_leto)){
$id_u_sendo = $rooty['id_user_send'];
   }

 

na tabela a variavel $id_u_sendo esta com valor igual a 12,ou seja ela nao esta vazia,vamos fazer da seguinte forma,se ela estiver vazia,eu dou um update,se nao vai mostrar uma mensagem na tela como eu faria isso?

 

if (!empty($var)) {
echo "variavel cheia";
}// esse comando verifica se ela esta diferente de vazia,ou seja veirfica se ha um registro nela,e como no exemplo acima eu falei que ela tem valor igual a 12 entao é mostrada uma mensagem
else{
$sql_update = mysql_query("UPDATE ......
}// como ela esta vazia entao podemos fazer um update naquele registro

no caso acima podemos usar um else ou if (empty($var)) {

Compartilhar este post


Link para o post
Compartilhar em outros sites

<?php
  if(isset($_GET['mudar'])){
     $mudarget = $_GET['mudar'];
     $sql = mysql_query("update `corys` set `upis` = if ({$mudarget} = 1, 0 ,1 ) WHERE `id`={$mudar}") or die(mysql_error());
  }
?>

adapte

 

se eu coloco chaves {$mudarget } e no id da erro syntax You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

seu campo id é de que tipo?

poste como ficou a sua query

 

campo id do tipo int auto increment chave primaria

 

       <?php
  if(isset($_GET['mudar'])){
     $mudarget = $_GET['mudar'];
     $sql = mysql_query("UPDATE `corys` SET `upis` = if ({$mudarget} = 1, 0 ,1 ) WHERE `id`={$mudar}") or die(mysql_error());
  }
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

<?php   
if(isset($_GET['mudar'])){     
  $mudarget = $_GET['mudar'];      
  $query = "UPDATE `corys` SET `upis` = if ({$mudarget} = 1, 0 ,1 ) WHERE `id`={$mudar}";
  print $query;
}
?>

imprima a query e poste o resultado

Compartilhar este post


Link para o post
Compartilhar em outros sites

outra coisa tambem eu ultilizo o wamp server na versao 2.0 a sendo que a existe a versao 3.0,na 2.0 a eu aprendi fazer o udate da seguinte forma:

 

$sql = mysql_query("UPDATE comentarios SET nome = '$nome', mensagem = '$mensagem' where id_comentario = '$id_comentario'");

 

agora testa esse comando udpdate na versao 3.0a,no meu caso nao funcionou,igual um comando alter table que eu fiz a algum tempo atras so funciona na versao antiga.quem sabe?!

 

outra coisa tente assim:

 

$query = MYSQL_QUERY("continua a tua query.....

 

cade o mysql_query no comando update!?

Compartilhar este post


Link para o post
Compartilhar em outros sites

<?php   
if(isset($_GET['mudar'])){     
  $mudarget = $_GET['mudar'];      
  $query = "UPDATE `corys` SET `upis` = if ({$mudarget} = 1, 0 ,1 ) WHERE `id`={$mudar}";
  print $query;
}
?>

imprima a query e poste o resultado

 

está retornando 1 O.o

 

""""" Micilini não está dando pra te responder, está dando erro """"

Compartilhar este post


Link para o post
Compartilhar em outros sites

$sql = mysql_query("UPDATE comentarios SET nome = '$nome', mensagem = '$mensagem' where id_comentario = '$id_comentario'");

se o campo id_comentario for do tipo numérico vai dá erro, isso é uma string '$id_comentario' , observe as aspas

 

 

atribuindo texto a campo numérico

id_comentario = '$id_comentario'

 

está retornando 1 O.o

 

""""" Micilini não está dando pra te responder, está dando erro """"

impossível retornar 1

veja se fez igual ao meu código

Compartilhar este post


Link para o post
Compartilhar em outros sites

se o campo id_comentario for do tipo numérico vai dá erro, isso é uma string '$id_comentario' , observe as aspas

 

 

atribuindo texto a campo numérico

id_comentario = '$id_comentario'

 

 

impossível retornar 1

veja se fez igual ao meu código

 

aaah tá tirei o mysql_query retornou isso

 UPDATE `corys` SET `upis` = if ('10' = 1, 0 ,1 ) WHERE `id`='10'

Compartilhar este post


Link para o post
Compartilhar em outros sites

conseguiu visualizar os erros?

 

se eu tirar as aspas das variaveis da erro de synthax :S

 

EDIT : os erros de synthax saiu mas nao consigo atualizar o resultado 1 para 0 , se na tabela tiver 0 ele atualiza pra 1 mas se tiver 1 nao atualiza pra 0 D:

 

agora se eu colocar = 1, 0 ,0 ele atualiza pra 0 mas nao volta pro 1 mas se eu colocar = 1, 0 ,1 ele fica pra 1 e nao volta pro 0

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.