Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
olá pessoal.
estou desenvolvendo um leilão básico.
e estou com o seguinte problema.
o valor informado no lance, nunca pode ser menor que o atual já cadastrado no banco.
preciso proíbir isso. ou simplesmente quando a pessoa informar o lance não atualizar.
esse é o meu update.
<?
$lance = $_POST['lance'];
include"../config.php";
$sql = mysql_query("UPDATE leilao SET lance = '$lance'");
mysql_close();
echo "<meta http-equiv=\"refresh\" content=\"0;URL=leilao.php\">";
?>se alguém puder ajudar fico muito grato. obrigado.o ideal e você fazer um select no valor atual e quando a pessoa for dar o lance você compara com o valor do banco se for menor, retorna avisando o usuario
A Sugestão do HJESS me parece ser a mais correta. Mas você ainda pode optar por utilizar um if
olá cesarmast. gostei desta sua solução. mas como eu faria esta comparação?
oi Evandro. mas onde eu coloco o "WHERE lance < $lance"?
UPDATE leilao SET lance = [novo_lance] WHERE lance < [novo_lance]
Para verificar a validade do lance do usuário, posteriormente, basta utilizar alguma função de contagem de linhas afetadas.
<?php // [...]
if(mysql_affected_rows($recordset) == 0) die('Valor de lance inválido!');assim:
$sql = mysql_query("UPDATE leilao SET lance = '$lance' where lance < '$lance'");muito obrigado a todos.
consegui conforme o Thiago Web10 mostrou.
quanto a sua verificação Evandro. vou estudar para tentar aplicar.
obrigado novamente a todos.
Faça um WHERE lance < $lance