Jump to content
Public2004

Otimizar Consulta

Recommended Posts

Boas. Gostaria da ajuda dos colegas para analisar a possibilidade de otimizar a seguinte situação: Tenho um "select" simples para trazer um registro específico e que atenda uma determinada condição (where) - Após este "select", recupero o "id" deste registro e utilizo para fazer mais dois "select", um para trazer o registro anterior e  outro para o próximo (id) utilizando MIN e MAX. Tem como fazer tudo isso em um único "select" ?

 

Tks.

Share this post


Link to post
Share on other sites

Publica a estrutura da tabela , chaves e índices.

Share this post


Link to post
Share on other sites

@Motta Boas. Uma table simples, por ora um projeto de estudo, segue estrutura:
id - int Primary Key
title = varchar
slug = varchar
content = text
status = varchar

O parâmetro passado para a consulta é o "slug" onde status "ativo". Se houver resultado, armazeno o "id" do registro para efetuar os próximos dois selects com MIN e MAX para registro anterior e próximo.

 

Obrigado.

 

Share this post


Link to post
Share on other sites

Se a sequencia é garantida , bsstaria buscar id+1 id-1 , fora isto não me ocorre algo fora min e max.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By Marcones Borges
      Olá, bom dia, estou tendo dificuldade em uma filtragem, quando passo o parâmetro para o select em forma de variável ele não exibe resultados.
       
      Segue o código:

              $usuario='gerente';         function montaSelect()         {         $sql = "SELECT * FROM membros WHERE user='".$usuario."' ";                 $query = mysql_query( $sql );                 if( mysql_num_rows( $query ) > 0 )                 {                         while( $dados = mysql_fetch_assoc( $query ) )                         {                                 $opt .= '<option value="'.$dados['nome'].'">'.$dados['nome'].'</option>';                         }                 }                 else                         $opt = '<option value="0">Nenhum Membro cadastrado</option>';                 return $opt;         }


      Quando substituo a variável pelo nome usuário gerente, ele lista normal, mais na variável não da certo. já tentei user='{$usuario}'  , user='$usuario' , user=$usuario}, nenhuma forma funciona...

      Alguém pode me ajudar..
       
    • By Marcones Borges
      Olá boa tarde!
      Tenho 3 select e não estou conseguindo habilita-los pela seleção a ideia é selecionar tipo 1 habilita select 1, 2 habilita select 2.

        <select class="form-control input-sm" name="principal" id="principal">                       <option value="select1">Ativa select 1</option>                         <option value="select2">Ativa select 2</option>                       </select>   <select class="form-control input-sm" name="select1" id="select1">                       <option value="opção 1">opção 1</option>                         <option value="opção 2">opção 2</option>                         <option value="opção 3">opção 3</option>                       </select>   <select class="form-control input-sm" name="select2" id="select2">                       <option value="opção 7">opção 7</option>                         <option value="opção 8">opção 8</option>                         <option value="opção 9">opção 9</option>                       </select> //Java script <script type='text/javascript'> var principal = $("#principal"); var select1 = $("#select1"); var select2 = $("#select2"); inst.bind("input", function () {     principal.val("");     select1.val("");     select1.attr("list", null)     var option = $(inst.prop("list")).find("option[value='" + inst.val() + "']");     if (option != null && option.length > 0) {         principal.attr("list", "_" + option.attr("data-value"));     } else {                 principal.attr("list", null)     } }); </script>  
       
      Não consigo colocar pra funcionar...
       
      alguém me ajude um! 
       
    • By Diego-SLP
      Bom dia,
       
      Tenho uma pagina para editar meus registros do banco e em um campo select o que está definido no banco de dados não aparece selecionado, vem com um valor em branco, sendo que meu ID e meu VALOR para esta tela é o mesmo campo, nao estou utilizando ID e VALOR.
       
      <!--INICIO FORMULARIO PESQUISAR DOSAGEM--> <form action="atualizar_movcbuq.php?id=<?php echo $_GET['id']; ?>" method="post" name="pesquisar" > <?php $busca = mysqli_query($con,"SELECT data,faixa,ticket,quantidade,obra_cliente,horae,horas,placa,operacao from dosagem_usina where id ='".$_GET['id']."'"); while ($linha = mysqli_fetch_array($busca)) { $data = date('d/m/Y', strtotime($linha['data'])); $faixa = $linha['faixa']; $ticket = $linha['ticket']; $quantidade = $linha['quantidade']; $obra = $linha['obra_cliente']; $horae = $linha['horae']; $horas = $linha['horas']; $placa = $linha['placa']; ?> <!--INICIO CAMPO--> <div class="col-2"> <label>Faixa</label> <div class="input-group-prepend"> <span class="input-group-text"><i class="fas fa-list-ol"></i></span> <select class="form-control" name="faixa" style="width: 100%;" data-select2-id="1" aria-hidden="true"> <?php $preenche_faixa = mysqli_query($con,"select faixa from dosagem_usina group by faixa"); while($dados = mysqli_fetch_assoc($preenche_faixa)) { echo "<option value='".$dados['faixa']."' >".$dados['faixa']."</option>"; } ?> </select> </div> </div> <!--FIM CAMPO--> <?php } ?>  
    • By danicarla
      Olá gente bom dia...
      tenho um select e gostaria de mudar o valor dele quando o botão do formulário for apertado para "Aguarde"

      Gostaria de fazer isso sem usar jquery
      Acho que é algo simples mas pela busca não achei nada..
       
      <script> function MudarSelect(){ // Mudar o select para AGUARDE } </script> <select name="conteudo" id="conteudo"> <option value="0" disabled selected>-- Selecione</option> <option value="Carros">Carros</option> <option value="Motos">Motos</option> </select> <input type="submit" value="Buscar" onclick="MudarSelect();" />  
    • By agness
      a imagem é uma parte de uma tabela extensa.
      como eu faço uma consulta por exemplo para jogador igual à 1, 3, 5 e liga igual à 1?
      isso é para uma verificação se existe uma liga com exatamente os jogadores 1, 3 e 5, nem mais nem menos
      espero ter sido claro
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.