Remazela 6 Denunciar post Postado Novembro 19, 2016 Caros amigos Estou com uma dificuldade que não estou conseguindo resolver. Criei uma Parte Administrativa, onde o administrador do SITE, pode visualizar e aprovar anúncios aleatoriamente. Infelizmente, quando quero buscar qualquer anúncio, o sistema sempre busca de forma Descendente, sempre do último para o primeiro, mesmo se selecionar o ítem 5 da tabela, sempre busca o ítem 10. Como consigo fazer com que busque o Cliente: 5 com seu respectivo anúnio, ou qualquer outro cliente ? Abaixo meus código fonte. pendentes.php //Código fonte da Lista de Pendentes. <table width="100%" border="0" cellspacing="3" cellpadding="0"> <tr style="background:#666; color:#FFF"> <td align="center">Cliente Id:</td> <td align="center">Imóvel Id:</td> <td align="center">Cadastro em:</td> <td align="center">Executar:</td> </tr> <?php $data = date('Y-m-d H:m:s'); $imovelStatus = 'pendente'; $sql_pegaAtivos = 'SELECT * FROM imoveis WHERE imovelStatus = :imovelStatus AND imovelTermino >= :data ORDER BY imovelTermino ASC'; try{ $query_pegaAtivos = $conecta->prepare($sql_pegaAtivos); $query_pegaAtivos->bindValue(':imovelStatus',$imovelStatus,PDO::PARAM_STR); $query_pegaAtivos->bindValue(':data',$data,PDO::PARAM_STR); $query_pegaAtivos->execute(); $resultado_pegaAtivos = $query_pegaAtivos->fetchAll(PDO::FETCH_ASSOC); }catch(PDOexception $error_pegaAtivos){ echo 'Erro ao pegar ativos'; } foreach($resultado_pegaAtivos as $resAtivos){ $anuncioCliente = $resAtivos['clienteId']; $anuncioId = $resAtivos['imovelId']; $anuncioTitulo = $resAtivos['imovelTitulo']; $anuncioInicio = $resAtivos['imovelCadastro']; $anuncioFinal = $resAtivos['imovelTermino']; $anuncioVisitas = $resAtivos['imovelVisitas']; //Código para mudar as linhas da Tabela autoincremento. $i++; if($i % 2 == 0){ //Cor para toda vez que a linha for par $cor = 'style="background: #F5FFFA"'; }else{ //Cor para toda vez que a linha for impar $cor = 'style="background: #B4EEB4;"'; } //Transformar data hoje em segundos $dataHoje = mktime(0, 0, 0, date('m'), date('d'), date('Y')); //Transformar data fim em segundos $dataFim = mktime(0, 0, 0, date('m', strtotime($anuncioFinal)), date('d', strtotime($anuncioFinal)), date('Y', strtotime($anuncioFinal))); //Calcular quantos dias faltam para terminar prazo anuncio $executaData = $dataFim - $dataHoje; //FLOOR arredondar dias //(60=seg * 60=hrs * 24=equiv. 1 dia) $faltamDias = floor($executaData/(60*60*24)); ?> <tr <?php echo $cor;?>> <td align="center"><?php echo $anuncioCliente ;?></td> <td align="center"><?php echo $anuncioId ;?></td> <td align="center"><?php echo date('d/m/y',strtotime($anuncioInicio));?></td> <td align="center"><a href="painel.php?exe=admin-imoveis/pendentes_single&anuncio=<?php echo $anuncioId;?>">Moderar Anúncio</a></td> </tr> <?php } //Fechar o 1.Foreach ?> </table> pendentes_sigle.php -> para analisar/corrigir alguma informação errada. //pendentes_single.php <?php if(isset($_POST['executar']) && $_POST['executar'] == 'Aprovar Anúncio'){ $editTitulo = $_POST['editTitulo']; $editNegocio = $_POST['editNegocio']; //Validar Campos Radio if($editNegocio == ''){ $editNegocio = $_POST['editNegocioOk']; } else { $editNegocio = $_POST['editNegocio']; } $editTipo = $_POST['editTipo']; //Validar Campos Radio if($editTipo == ''){ $editTipo = $_POST['editTipoOk']; }else{ $editTipo = $_POST['editTipo']; } $editValor = $_POST['editValor']; $editDesc = $_POST['editDesc']; $editComodos = $_POST['editComodos']; $editSuites = $_POST['editSuites']; $editBanheiros = $_POST['editBanheiros']; $editSalas = $_POST['editSalas']; $editChurrasqueira = $_POST['editChurrasqueira']; $editGaragem = $_POST['editGaragem']; $editServico = $_POST['editServico']; $editPiscina = $_POST['editPiscina']; $editFacilidades = $_POST['editFacilidades']; $editRua = $_POST['editRua']; $editNumero = $_POST['editNumero']; $editBairro = $_POST['editBairro']; $editProximo = $_POST['editProximo']; $editImovelId = $_POST['editId']; $editImovelStatus = 'processando'; $edit_imoveis = 'UPDATE imoveis SET imovelTitulo = :imovelTitulo, imovelNegocio = :imovelNegocio, imovelTipo = :imovelTipo, imovelValor = :imovelValor, imovelDescricao = :imovelDescricao, imovelComodos = :imovelComodos, imovelSuites = :imovelSuites, imovelBanheiros = :imovelBanheiros, imovelSalas = :imovelSalas, imovelChurrasqueira = :imovelChurrasqueira, imovelGaragem = :imovelGaragem, imovelServico = :imovelServico, imovelPiscina = :imovelPiscina, imovelFacilidades = :imovelFacilidades, imovelRua = :imovelRua, imovelNumero = :imovelNumero, imovelBairro = :imovelBairro, imovelProximo = :imovelProximo, imovelStatus = :imovelStatus WHERE imovelId = :imovelId'; try{ $query_imovel = $conecta->prepare($edit_imoveis); $query_imovel->bindValue(':imovelTitulo',$editTitulo,PDO::PARAM_STR); $query_imovel->bindValue(':imovelNegocio',$editNegocio,PDO::PARAM_STR); $query_imovel->bindValue(':imovelTipo',$editTipo,PDO::PARAM_STR); $query_imovel->bindValue(':imovelValor',$editValor,PDO::PARAM_STR); $query_imovel->bindValue(':imovelDescricao',$editDesc,PDO::PARAM_STR); $query_imovel->bindValue(':imovelComodos',$editComodos,PDO::PARAM_STR); $query_imovel->bindValue(':imovelSuites',$editSuites,PDO::PARAM_STR); $query_imovel->bindValue(':imovelBanheiros',$editBanheiros,PDO::PARAM_STR); $query_imovel->bindValue(':imovelSalas',$editSalas,PDO::PARAM_STR); $query_imovel->bindValue(':imovelChurrasqueira',$editChurrasqueira,PDO::PARAM_STR); $query_imovel->bindValue(':imovelGaragem',$editGaragem,PDO::PARAM_STR); $query_imovel->bindValue(':imovelServico',$editServico,PDO::PARAM_STR); $query_imovel->bindValue(':imovelPiscina',$editPiscina,PDO::PARAM_STR); $query_imovel->bindValue(':imovelFacilidades',$editFacilidades,PDO::PARAM_STR); $query_imovel->bindValue(':imovelRua',$editRua,PDO::PARAM_STR); $query_imovel->bindValue(':imovelNumero',$editNumero,PDO::PARAM_STR); $query_imovel->bindValue(':imovelBairro',$editBairro,PDO::PARAM_STR); $query_imovel->bindValue(':imovelProximo',$editProximo,PDO::PARAM_STR); $query_imovel->bindValue(':imovelStatus',$editImovelStatus,PDO::PARAM_STR); $query_imovel->bindValue(':imovelId',$editId,PDO::PARAM_STR); $query_imovel->execute(); echo '<div class="ok">Imóvel Liberado</div>'; //Redirecionando para Caixa de Enrada do Cliente echo '<meta http-equiv="refresh" content="1, URL=painel.php?exe=admin-imoveis/pendentes" />'; } catch(PDOexception $error_editImovel) { echo 'Erro ao aprovar o imóvel '.$error_editImovel->getMessage(); } } ?> <?php $data = date('Y-m-d H:m:s'); $imovelStatus = 'pendente'; $sql_pegaAtivos = 'SELECT * FROM imoveis WHERE imovelStatus = :imovelStatus AND imovelTermino >= :data ORDER BY imovelTermino ASC'; try{ $query_pegaAtivos = $conecta->prepare($sql_pegaAtivos); $query_pegaAtivos->bindValue(':imovelStatus',$imovelStatus,PDO::PARAM_STR); $query_pegaAtivos->bindValue(':data',$data,PDO::PARAM_STR); $query_pegaAtivos->execute(); $resultado_pegaAtivos = $query_pegaAtivos->fetchAll(PDO::FETCH_ASSOC); }catch(PDOexception $error_pegaAtivos){ echo 'Erro ao pegar ativos'; } foreach($resultado_pegaAtivos as $resAtivos){ $editCliente = $resAtivos['clienteId']; $editId = $resAtivos['imovelId']; $editTitulo = $resAtivos['imovelTitulo']; $editInicio = $resAtivos['imovelCadastro']; $editFinal = $resAtivos['imovelTermino']; $editVisitas = $resAtivos['imovelVisitas']; $editNegocio = $resAtivos['imovelNegocio']; $editTipo = $resAtivos['imovelTipo']; $editThumb = $resAtivos['imovelThumb']; $editValor = $resAtivos['imovelValor']; $editDesc = $resAtivos['imovelDescricao']; $editComodos = $resAtivos['imovelComodos']; $editSuites = $resAtivos['imovelSuites']; $editBanheiros = $resAtivos['imovelBanheiros']; $editSalas = $resAtivos['imovelSalas']; $editChurrasqueira = $resAtivos['imovelChurrasqueira']; $editGaragem = $resAtivos['imovelGaragem']; $editServico = $resAtivos['imovelServico']; $editPiscina = $resAtivos['imovelPiscina']; $editRua = $resAtivos['imovelRua']; $editNumero = $resAtivos['imovelNumero']; $editBairro = $resAtivos['imovelBairro']; $editProximo = $resAtivos['imovelProximo']; $editFacilidades = $resAtivos['imovelFacilidades']; $dataHoje = mktime(0,0,0,date('m'),date('d'),date('Y')); $dataFim = mktime(0,0,0,date('m',strtotime($anuncioFinal)),date('d',strtotime($anuncioFinal)), date('Y',strtotime($anuncioFinal))); $executaData = $dataFim - $dataHoje; $faltamDias = floor($executaData/(60*60*24)); } ?> Grato a todos. Renato Compartilhar este post Link para o post Compartilhar em outros sites
Motta 645 Denunciar post Postado Novembro 19, 2016 http://dev.mysql.com/doc/refman/5.7/en/mathematical-functions.html#function_rand Pesquise por RAND() Compartilhar este post Link para o post Compartilhar em outros sites
ociceromartins 3 Denunciar post Postado Novembro 21, 2016 Olá, Acredito que o uso de ORDER BY rand() na sua query resolve seu problema. Um abraço! Compartilhar este post Link para o post Compartilhar em outros sites
Remazela 6 Denunciar post Postado Novembro 21, 2016 Caros amigos Consegui resolver o problema que estava ocorrendo. Fiz da seguinte forma, quando o administrador entra no site, para analisar todos os anúncios o sistema trabalha assim: 1 - Relaciona todos os Anúncios 2 - Escolhe na lista qual usuário quer aprovar ( passando o código do cliente através de um $_POST[ ] para a próxima etapa. 3 - Seleciona os dados do cliente passado através de um $_POST[ ] do 2 passo. De 2 formulário, fiz 3 mas resolveu. Grato a todos. Atenciosamente, Renato Compartilhar este post Link para o post Compartilhar em outros sites