Ir para conteúdo

Arquivado

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

Remazela

PHP - Seleção não busca aleatoriamente

Recommended Posts

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

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

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.