Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Como testo o $.post() para ver se passa o valor corretamente?
index.php
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<link rel="stylesheet" href="css/classes.css" type="text/css">
<script src="js/jquery-1.4.2.min.js" type="text/javascript"></script>
<title></title>
<script type="text/javascript">
$(document).ready(function(){
$("img").click(function(){
$(this).attr('src', 'images/presenca.png');
var id = $(this).attr('id');
$.post("update.php", { presenca: "presente", id: id });
});
$("img").dblclick(function() {
$(this).attr('src', 'images/falta.png');
// var id = $(this).attr('id'); //cria uma variavel id com a id da tag html no cado da img
//$.post("update.php", { presenca: "presente", id: id });
});});
</script>
</head>
<body>
<?php
include('bd/conexao.php');
// PEGA OS DADOS DO USUÁRIO e mostra na area restrita
$sql = mysql_query("SELECT * FROM presenca");
while ($result = mysql_fetch_array($sql)){
$nome = $result['nome'];
$matricula = $result['matricula'];
?>
<p><?php echo $nome; ?> <img alt="" id="<?php echo $matricula ?>" src="images/falta.png"/></p><br><br>
<?php
}
?>
</body>
</html>
<?php$id = $_POST['id'];
$presenca = $_POST['presenca'];
$sql = mysql_query("UPDATE easycomp SET presenca = '$presenca' WHERE matricula = '$id'");
?>O alert é classic em debugs de scripts
Vasconcellosif até ali funciona, mas queria saber depois do post como testo ele pra ver se ele passa as variaveis, pois o id ta certinho, queria ver se ele passa aquela presenca: "presente". tem algum jeito?
De uma olhada aqui
Patrique é justamente dai que eu sai rs
kkkk mais tipo... você ta tentando cadastrar e não ta indo? pois é fácil, na page .php ele vai cadastrar dai tu vai ver no bd se foi ou não, não ta indo?
por isso, não ta indo eu olho no bd e nada acontece, pois no caso ele verifica o id passado e no bd ele deveria trocar o texto faltou por presente, e não acontece isso, nem gera erro nada..
Estrutura da tabela presenca
--
CREATE TABLE IF NOT EXISTS `presenca` (
`id` int(4) NOT NULL,
`nome` varchar(30) NOT NULL,
`matricula` int(6) NOT NULL,
`presenca` varchar(10) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
--
-- Extraindo dados da tabela presenca
--
INSERT INTO presenca (id, nome, matricula, presenca) VALUES
(1, 'Adelino de Carvalho Lino', 1234, 'faltou'),
(2, 'Adelmo Carneiro Leão', 4321, 'faltou'),
(3, 'Ademir Lucas Gomes', 4567, 'faltou'),
(4, 'Adolfo de Oliveira Portela', 7654, 'faltou');
tente assim
$.post("update.php?presenca="+ id);
e faça o teste, desta forma recupere a querystring presenca na page update.php e veja se vai.Se a dica do amigo acima nao funcionar, faz o seguinte. Muda de $.post para $.get, e faz um echo na variavel recebida do servidor. Se for exatamente a mesma que o ajax ta enviando pra ele, acesse: ... update.php?presenca=presenca&id=5 [por exemplo]
Depois, na query do sql, faz aquilo mysqli_query($dbc, $sql) or die (mysqli_error($dbc))
$dbc --> Sua conexao com o bd
$sql --> Seu codigo sql
Talvez voce use outra funcao (o mysql) o importante é voce fazer esse or die (mysqli_error($dbc)) porque nele voce vai ver se tá dando erro no seu codigo SQL, e isso solucionaria o porque a variavel nao entra no bd !
Outra coisa é como esta pegando o valor, ta fazendo em php? como esta pegando? vai request form ou request querystring?
bom o jeito que to recuperando ta la em cima Patrique, vou ver o que vcs me passaram
vcs vão me matar, achei o erro, com essa linha do get eu achei o erro, rsrs tabela errada na query update eu tinha colado uma query que copiei do phpmyadmin e depois modifiquei só que ao inves de deixa o nome da tabela, ficou o nome do bd por isso não cadastrava, mas só deu para descobrir colando essa linha update.php?presenca=presenca&id=4 dizendo que não existia a tabela, obrigado aos dois pela paciencia e ajuda eu sou novato em jquery e desatento em php, mas to aprendendo rsrs valw galera!!
Dãmmmmmmmm rsrsrs que bom que resolveu.
[]'s
Sem problemas, só vai uma ultima dica: Quando tudo parecer certo mas nada estiver funcionando, nao olhe ao seu redor pra procurar os jeitos menos dolorosos de se suicidar. Apenas desliga o PC e vai fazer outra coisa. Até a proxima !
nada patrique na tabela o nome ta errado ao inves de easycomp é presenca amigo..
sql = mysql_query("UPDATE presenca SET presenca = '$presenca' WHERE matricula = '$id'");
Obrigado novamente!
Eu editei o post vi que conseguiu que bom!
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">