Jump to content


Photo

Função Que Altera Valor Mysql!


  • Faça o login para participar
4 replies to this topic

#1 GmEnDeS

GmEnDeS

    Turista

  • Usuários
  • 50 posts
  • Sexo:Não informado

Posted 25/10/2009, 03:37

Boa noite ilustres,

Mecho com PHP e MySQL há algum tempo, desenvolvo meus códigos baseados em funções indicadas pelos amigos.
Então, seria de muita utilidade se alguém pudesse me dar uma luz com relação à minha questão:

Possuo a seguinte linha em meu banco de dados:
`Visualizacao` varchar(200) NOT NULL,

Esta linha foi feita para que os usuários de meu website acessem seu painel e façam a confirmação de que efetuaram tal visualização de pagamento. A questão é, possue um texto neste painel denominado "Confirmar Visualização", que quando o usuário clica, envia uma solicitação ao código para que insira nesta linha, valor que significa que o usuário confirmou, exemplo:
Quando o usuário clica em "Confirmar Visualização", o valor OK é acrescentado na linha `Visualizacao`.
Caso o usuário tentasse efetuar um segundo clique, seria exibido uma tela de erro: Você já confirmou este mês.

Então, em meu painel administrativo, eu teria a opção de retornar todos os valores da linha `Visualizacao` para o valor Nao no início do mês, e teria uma página na qual exibiria todos os resultados que possuem a linha `Visualizacao` para o valor Nao, para que eu me conscientize de quem ainda não efetuou a confirmação.

Alguém poderia me dar alguma luz em funções e códigos?
Obrigado!

#2 Dudu

Dudu

    Viva la vida

  • Usuários
  • 1437 posts
  • Sexo:Masculino
  • Localidade:Uberlândia - MG
  • Interesses:PHP

Posted 25/10/2009, 10:54

Simples:

Para listar todos que tem Visualizacao = Nao, basta:

[codebox]
SELECT * FROM tabela WHERE Visualizacao = 'Nao';
[/codebox]

Até mais ^_^

Fórum WMO - Equipe de Desenvolvimento / Banco de Dados - Moderador


Twitter: HostCheap


#3 -=[Érico]=-

-=[Érico]=-

    Novato no fórum

  • Usuários
  • 23 posts
  • Sexo:Não informado
  • Interesses:Música e Informática.

Posted 29/10/2009, 00:51

Uma outra coisa, se essa coluna só é colocada os valores 'OK' e 'Não', você está como um tremendo disperdicio de banco de dados.

ALTER TABLE tabela MODIFY Visualizacao ENUM('Não','Sim') NOT NULL default 'Não';

#4 Paulo Freitas

Paulo Freitas

    ××××××× LRU #456504 ××××××× ××××××× LRM #364686 ×××××××

  • Ex-Admins
  • 5612 posts
  • Sexo:Masculino
  • Localidade:Campinas - SP

Posted 29/10/2009, 11:52

Uma outra coisa, se essa coluna só é colocada os valores 'OK' e 'Não', você está como um tremendo disperdicio de banco de dados.

ALTER TABLE tabela MODIFY Visualizacao ENUM('Não','Sim') NOT NULL default 'Não';

Bem, positivo/negativo é valor booleano. Melhor ainda é usar o tipo BOOLEAN - sinônimo para TINYINT(1): http://dev.mysql.com...e-overview.html. Para comparar, basta usar TRUE (sinônimo para 1) ou FALSE (sinônimo para 0). :)

[]’sAté mais

#5 GmEnDeS

GmEnDeS

    Turista

  • Usuários
  • 50 posts
  • Sexo:Não informado

Posted 31/10/2009, 06:35

Obrigado à todos que dispensaram sua atenção ao meu problema.

Fiz o que o Dudu disse, funcionou corretamente. Porém, há uma dúvida:
Confirmar Visualização (confirma.php):
<?php
include "../sessionType.php";
include "../../config.php";

$sql = "update dados set Visualizacao = 'Sim' where User = '$username'";
$consulta = mysql_query($sql);

$msg = $_POST['msg'];

if($consulta) {
	$msg = urlencode("Confirmado!");
	header("Location: exibeCliente.php?get=$msg");
	exit;
} else {
	echo "Não foi possível efetuar seu cadastro.<br />Contate-nos caso esta mensagem seja exibida.";
	exit;
}
?>

Funciona perfeitamente, porém, só fica atualizando o valor 'Sim' na tabela Visualizacao.
Eu queria que o script verificasse se o campo possui valor Sim/Nao, se 'Sim':
echo "<script type=\"text/javascript\">
window.alert(\"Você já visualizou seu painel.\");
location.href = \"index.php\"; 
</script>";
	exit;

Se o campo possuir valor 'Nulo/Nao':
Faz a consulta e atualiza o valor para 'Sim'.




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq