Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá, galera. Estou com uma dúvida, tenho a seguinte tabela:
Lances:
id_lance
id_animal
id_comprador
valor_lance
Gostaria de listar agrupando os lances de cada animal que o comprador deu e fazer de um jeito que cheque se o lance dele foi o maior para na frente mostrar se SIM ou NÃO em Vencedor do Leilão...
Agradeço desde já a ajuda de todos!!!
Cara, acho que preciso de mais informação para poder te ajudar, se puder exemplifique.
Aconselho a pesquisar por GROUP BY e ORDER.
Aqui está minha query:
$db = mysql_connect($dbHost, $dbUsername, $dbPassword) or die ("Unable to connect to Database Server.");
mysql_select_db ($dbDatabase, $db) or die ("Could not select database.");
$detalhes_lances_comprador = mysql_query("SELECT cadastro_comprador.*, lances_comprador.*, cadastro_animal.*,COUNT(lances_comprador.id_lance) AS total_lances FROM cadastro_comprador LEFT OUTER JOIN lances_comprador ON (lances_comprador.id_comprador=cadastro_comprador.id_cadastro_comprador) RIGHT OUTER JOIN cadastro_animal ON (cadastro_animal.id_animal=lances_comprador.id_animal) WHERE id_cadastro_comprador = '".$_GET['id_cliente']."' GROUP BY cadastro_animal.id_animal");
Faço o While exibindo os lances do usuário logado mas agrupado por animal
<?php
while($row_detalhes_lances_comprador = mysql_fetch_array($detalhes_lances_comprador)) {
?>
<?php echo date_format(date_create($row_detalhes_lances_comprador['data_hora_lance']), 'd/m/Y H\hi'); ?>
<?php echo $row_detalhes_lances_comprador['nome_animal']; ?>
Nessa parte do código preciso implementar algo para mostrar se ele é o vencedor (se o último lance for dele) ou não do leilão.
<?php echo $row_detalhes_lances_comprador['total_lances']; ?>
<?php } ?>
Faça uma busca no banco com o mysql_fetch_array.
Vai ser formado um array, certo?!
Então, combine o $array['id_comprador'] com o $array['valor_lance'].
Veja qual é o maior.
Depois verifique se o id_comprador do maior é igual ao usuário online.
Veja um exemplo que preparei:
<?php
$eu = "joão";//Usuário online
$users = array("gabriel", "bruno", "vitor", "joão", "abner");//Array com compradores
$lances = array(5, 6, 7, 9, 1);//Array com lances
$combina = array_combine($users, $lances);//Combinando os dois
$maior = max($combina);//Verificando qual o maior lance
$usuario = array_search($maior, $combina);//Procurando o usuário de maior lance
if($usuario == $eu){
//Se for igual ao usuário online, no caso o "joão", diz que SIM
echo "SIM";
}else{
//Se não for, diz que NAO