Ir para conteúdo
Fórum Script Brasil

stive128

Membros
  • Total de itens

    1
  • Registro em

  • Última visita

Tudo que stive128 postou

  1. Olá camaradas, tenho um site de leilão de um centavo, porem antes de divulgar gostaria de alterar a forma de contagem do tempo de leilão, pois atualmente, o cronometro é reiniciado ao seu tempo inicial a cada lance feito, exemplo, programo um leilão de 30 segundos, então aos 20 segundos alguém da um lance, então o cronometro volta aos 30 segundos. Então gostaria de alterar isso, pois se coloco um leilão de 1 hora por exemplo, toda vez que alguém der um lance ele voltara para 1 hora inicial e isso não é algo aceitável, minha ideia é que independente do tempo que eu coloque de leilão ele só comece a resetar o tempo para os ÚLTIMOS 30 segundos do leilão, ou seja, eu programarei 1 hora de leilão, os lances serão dados e o cronometro regressivamente continuara normalmente a diminuir, porem nos seus últimos 30 segundos de leilão ele começara a resetar para os seus últimos 30 segundos até que mais ninguém de lances e o leilão se encerro, ou seja, faltando 20 segundos, alguém da um lance, então retorna-se aos últimos 30 segundos, independente de qual era o tempo inicial do leilão, seja la 1 ou 10 horas inicialmente. o que devo alterar no script para que isso passe a funcionar como expliquei: <?php require_once "../application.php"; if (!isset($_GET['ids']) || empty($_GET['ids'])) { exit(); } $result = array(); $leiloes = query(" SELECT l.idLeilao, l.dataInicio, l.periodo, p.preço FROM " . TB_LEILAO . " l INNER JOIN " . TB_PRODUTO . " p ON l.idProduto = p.idProduto WHERE l.idLeilao IN (" . $_GET['ids'] . ") ORDER BY l.idLeilao ASC "); $now = date(DATE_FORMAT_SQL); while ($leilao = $leiloes->fetch_assoc()) { $data = array(); $data['id'] = $leilao['idLeilao']; $data['inicio'] = 'iniciado'; $lances = query(" SELECT l.idUsuario, l.dataLance, u.usuario, (SELECT count(*) FROM " . TB_LANCE . " WHERE idLeilao = " . $leilao['idLeilao'] . " GROUP BY idLeilao) AS num_lances FROM " . TB_LANCE . " l LEFT JOIN " . TB_USUARIO . " u ON u.idUsuario = l.idUsuario WHERE idLeilao = " . $leilao['idLeilao'] . " ORDER BY l.idLance DESC LIMIT 1 "); if ($lances->num_rows > 0) { $lance = $lances->fetch_assoc(); $num_lances = $lance['num_lances']; $data['usuario'] = $lance['usuario']; $_idUsuario = $lance['idUsuario']; $dataLance = $lance['dataLance']; } else { $num_lances = 0; $data['usuario'] = ' '; } $preço = str_pad($num_lances, 3, "0", STR_PAD_LEFT); $preço = substr($preço, 0, -2) . "," . substr($preço, -2); $data['preço'] = $preço; $economia = number_format($leilao['preço'], 2, ".", ""); $economia = 100 - number_format((str_replace(",", ".", $preço) * 100) / $economia, 5, ".", ""); if (dateCompare($now, $leilao['dataInicio'])) { if ($num_lances > 0) { if (dateCompare($dataLance, $leilao['dataInicio'])) { $tempo = timeDiff($dataLance, $now); } else { $tempo = timeDiff($leilao['dataInicio'], $now); } } else { $tempo = timeDiff($leilao['dataInicio'], $now); } $tempo = timeDiff(date(DATE_FORMAT_SQL, mktime(0, 0, $tempo)), date(DATE_FORMAT_SQL, mktime(0, 0, $leilao['periodo']))); if ($tempo > 0) { $tempo = date(TIME_FORMAT, mktime(0, 0, $tempo, 0, 0, 0)); } else { $tempo = 'ARREMATADO!'; //if ($num_lances > 0) { //Arrematar($leilao['idLeilao'],$_idUsuario,$preço); /* $arrematado = query("SELECT idLeilao FROM ".TB_ARREMATADO." WHERE idLeilao = ".$leilao['idLeilao'].""); if ($arrematado->num_rows == 0) { query("INSERT IGNORE ".TB_ARREMATADO."(idLeilao,idUsuario,dataArremate,valor) VALUES('".$leilao['idLeilao']."','".$_idUsuario."','".date(DATE_FORMAT_SQL)."','".@str_replace(",",".",$preço)."')"); $bonificados = array(); $bonus = query(" SELECT l.idLance, l.idUsuario FROM tbLance l WHERE l.idLeilao = ".$leilao['idLeilao']." ORDER BY l.idLance DESC "); while($_bonus = $bonus->fetch_assoc()) { $bonificados[$_bonus['idUsuario']] = $_bonus['idUsuario']; if (count($bonificados) == 3) { break; } } $i = 0; foreach ($bonificados as $id => $val) { if ($i > 0) { switch ($i) { case 1: $bonus = 20; break; case 2: $bonus = 10; break; } query("UPDATE ".TB_CREDITO_ATUAL." SET numero = numero + ".$bonus." WHERE idUsuario = ".$id.""); } $i++; } query("DELETE FROM ".TB_LANCE_AUTOMATICO." WHERE idLeilao = '".$leilao['idLeilao']."'"); query("DELETE FROM ".TB_ROBOT." WHERE idLeilao = '".$leilao['idLeilao']."'"); } */ //} } } else { $data['inicio'] = date(DATE_FORMAT, strtotime($leilao['dataInicio'])); $tempo = date(TIME_FORMAT, mktime(0, 0, $leilao['periodo'])); } $data['tempo'] = $tempo; $data['economia'] = number_format($economia, 2, ",", ""); $result['leilao'][] = $data; } $return = ""; for ($i = 0; $i < count($result['leilao']); $i++) { $return .= implode("|", $result['leilao'][$i]) . ';'; } echo substr($return, 0, -1); ?>
×
×
  • Criar Novo...