Ir para conteúdo

Arquivado

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

Hamon

Operação de comparação mysql

Recommended Posts

Pessoal estou tanto fazer com que o mysql atualize no banco de dados o campo STATUS quando ele seja MENOR que a DATA ATUAL. Só que ele está atualizando todos os campos STATUS de todos os registros.

 

OBS: Campo que contem a data no banco de dados mysql está em VARCHAR e está em "d/m/Y"

<?php
	
	include "conexao.inc";
		
		$data_atual=date('d/m/Y');
			
			$sql="SELECT * FROM tb_parcelas";
				$comando=mysqli_query($con,$sql);
				
					while($escrever=mysqli_fetch_array($comando)){
							$status=$escrever['status'];
							$data_vencimento=$escrever['data_vencimento'];
						
						
				
					}
					
					$sql2="UPDATE tb_parcelas SET status='Passou do prazo' WHERE $data_vencimento < $data_atual";
						$comando2=mysqli_query($con,$sql2);	
						
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

No seu banco, onde recebe a data é tipo date? Se for, altere a formatação da data atual:

$data_atual=date('Y-m-d');

O banco de dados trabalha com data padrão americano.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não é do tipo VARCHAR. Mas mesmo assim funciona já fiz um teste que ele me diz que por exemplo SE 17/02/2016 for MAIOR que 16/02/2016 ele exibe resultado certo. Cara, tá dificil, tentei até usar explode kkk

Compartilhar este post


Link para o post
Compartilhar em outros sites

Remodele o seu banco e use campos adequados com tipos adequados, isso que você quer fazer é inviável como o sistema está atualmente.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Conforme eu disse "use campos adequados" (data, datetime, etc..) com tipos adequados (yyyy-mm-dd, yyyy-mm-dd hh:ii:ss)... depois disso basta

UPDATE ...  WHERE nome_do_campo < '$data_que_vc_quer'

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pessoal, to com um problema na hora de enviar as datas para o banco de dados, ele está salvando uma unica data "1970-01-01"

 

CÓDIGO:

	$data_venc=$data;  					 //Pega valor da data do usuario e passa para uma variavel
	$data_venc= explode("/", $data_venc); //Retira as "/" e deixa a data separada
	list($dia, $mes2, $ano) = $data_venc; //Cria um array para a data
	$data_venc = "$ano-$mes2-$dia";       //Recria a data por variaveis
 	$dia = $dia+30; 					//Adiciona + 30 dias (Para não dar problema no banco de dados)
	 						

	$numero=$numero+1; //Pega o resultado maximo do campo "numero" no banco de dados e acrescente +1 
	$i=1; //DEFAULT para fazer o while
	
	$quantidade_total=$bd_quantidade - $quantidade;
	
	@$sql4="UPDATE tb_produtos SET quantidade='$quantidade_total' WHERE id='$id'";
	$comando4=mysqli_query($con,$sql4);
							
							while ($qtd_parcela >= $i) {
								
								
								$data_venc = date("Y-m-d",mktime(0,0,0,$ano,$mes2,$dia));
    							$dia = $dia+30;
								$i++;
								
							$sql2="INSERT INTO tb_parcelas VALUES (NULL, NULL, $numero, '$data', '$vendedor', '$cliente', '$bd_nome', $quantidade, $valor3, '$data_venc', 'Pendente')";
							$comando=mysqli_query($con,$sql2);
							}
							 
						}
				}
			}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Deu certinho pessoal, agradeço a todos. Obrigado a todos que puderam me ajudar, ainda sou novo em PHP tentando fazer coisa grande.... kkkkkkk

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.