Ir para conteúdo

Arquivado

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

designfelipe

Problema com data (sistema de votação)

Recommended Posts

Ae galera,

 

Tô fazendo um sistema de votação que só é possível realizar um voto por dia, porém não tô conseguindo comparar a data da pagína PHP com a data do MySQL. Segue abaixo o código, vê se alguém me dá uma luz ae.

 

<?  	$query1 = mysql_query("SELECT * FROM usuarios WHERE cpf='".$user."'");	$row = mysql_fetch_array($query1, MYSQL_NUM);	$atual = date("Y-m-d");		if ($row[4] == $atual){	$resp = "você já votou pilantra!";	}	else {	$resp = "<table width=500 border=0>	<tr>	  <td width=89>	  <a href=vota.php?id=<? echo $row[0]; ?>&status=1>	  <img src=img/calendario/participantes/<? echo $row[2]; ?> alt=Foto do participante width=250 height=250 />	  </a>	  </td>	  <td width=377>	  <? echo $row[1]; ?>	  </td>	</tr>	<tr>	  <td><a href=vota.php?id=<? echo $row[0]; ?>&status=1>Sim</a></td>	  <td>Não</td>	</tr>	</table>";	}		$query2 = mysql_query("SELECT * FROM participantes WHERE id='".$id."'");	$row = mysql_fetch_array($query2, MYSQL_NUM);		if ($status == 1){	$ok = $row[4] + 1;  	mysql_query("UPDATE participantes SET votos ='$ok' WHERE id='".$id."'");	echo "ok!";	}?>

O que eu tô fazendo errado?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Como que a data está registrado no mysql?

Tente assim

 

PHP
$atual = strtotime("now");

   

    if ($row[4] < $atual){

    $resp = "você já votou pilantra!";

    }

 

Abraços,

mmb

Compartilhar este post


Link para o post
Compartilhar em outros sites

pegue a data do banco de dados e separe o dia (use o substr() para isso)pegue a data do sistema e separe o dia (use o substr() para isso)compare os dois dias, se forem iguais, nao vota. se forem diferentes, vota.voce não precisa se preocupar se eles são muito diferentes, pois o usuario nunca irá conseguir votar em dia e voltar no tempo para votar denovo. então, sempre que os dias forem diferentes é porque o dia se passou

Compartilhar este post


Link para o post
Compartilhar em outros sites

pegue a data do banco de dados e separe o dia (use o substr() para isso)pegue a data do sistema e separe o dia (use o substr() para isso)compare os dois dias, se forem iguais, nao vota. se forem diferentes, vota.voce não precisa se preocupar se eles são muito diferentes, pois o usuario nunca irá conseguir votar em dia e voltar no tempo para votar denovo. então, sempre que os dias forem diferentes é porque o dia se passou

Deu certo cara, eu fiz no esquema que você me falou, olha como ficou o cód:
$query1 = mysql_query("SELECT * FROM usuarios WHERE cpf='".$user."'");$row1 = mysql_fetch_array($query1, MYSQL_NUM);$atual = date("Y-m-d");$d1 = substr($atual, -2);$d2 = substr($row1[4], -2);	if ($d1 == $d2){$resp = "você já votou pilantra!";	}else {$resp = "pode votar!";}?>
Um abraço a todos, agradeço pela ajuda!

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.