Ir para conteúdo
fabriciothe2018

Condições diferentes da mesma coluna

Recommended Posts

Olá,

 

Tenho uma tabela chamada anuncios, nela há as colunas: id, nomefinalizar e datafim.

 

Tenho os seguintes registros:

1, teste1, N, 0000-00-00

2, teste2, S, 2018-12-05

 

Gostaria de fazer um SELECT listando apenas os registros onde o valor da coluna finalizar seja N ou que seja S, desde que quando seja S, a datafim seja menor ou igual a hoje.

 

De já agradeço a ajuda.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Where ((finalizar='N') or (finalizar='S' and datafim <= curdate()))

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora

  • Conteúdo Similar

    • Por martinazzo
      Olá pessoal,
       
      sou novo por aqui e não sei bem como funciona, mas sei que preciso de uma ajuda kkkkk
      se puderem me dar uma mão ficaria grato;
       
      Estou tendo problemas em como pegar id de uma linha clicada em uma table, que já recebe os dados de um bd. Eu gostaria de poder editar os campos e salvar no banco de dados usando o ID da linha clicada;
       
      Vou colar o código abaixo, não reparem na bagunça kkkkk
       
      conexao.php
      <?php $server = "XXXXX";         Conferido e esta correto; $username = "XXXXX";  Conferido e esta correto; $password = "XXXXX";  Conferido e esta correto; $dbname = "XXXXX";     Conferido e esta correto; $conn = mysqli_connect($server, $username, $password, $dbname); altera.php
      <?php  $link = mysqli_connect("XXXXXX", "XXXXX", "XXXXX", "XXXXXX"); Conferido $sql = "SELECT * FROM interface "; $consulta = mysqli_query($link, $sql); ?> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta http-equiv="refresh" content="30"> <link rel="stylesheet" type="text/css" href="style.css"> <script src="sorttable.js"></script> <title>Dashboard</title> <?php  session_start(); if(!isset($_SESSION['login']) and !isset ($_SESSION['senha'])){     session_destroy();   unset($_SESSION['login']);   unset($_SESSION['senha']);   header('location:index.html');      }    ?> </head> <body> <a href="index.php"><img src="img/ditec_smart_hor_150px.png"></a> <div class="borda_titulo"> <h2><center>DIMILK | Equipamentos</font></h2></center></div><br /><br /> <form name="equipamento" action="salva.php" method=post> <center><table id="minhaTabela" border="3" class="sortable" bgcolor="#1E90FF">   <tr>   <th><center>ID </center></th>   <th><center>MAC</center></th>   <th><center>Habilitado</center></th>   <th><center>Descrição</center></th>   <th><center>Altura Tarro</center></th>   <th><center>Área Tarro</center></th>   <th><center>Alterar</center></th>   </tr>        <?php while($registro = mysqli_fetch_assoc($consulta)){         echo '<tr bgcolor="#ADD8E6" scope="row">';         echo '<td name="id"><center>'.$registro["id"].'</center></td>';         echo '<td name="mac"><center>'.$registro["mac"].'</center></td>';         echo '<td><center><input type="checkbox" name="status" value="$teste"><br></center></td>';         echo '<td id="linha_desc"><textarea name="desc" type=text placeholder="'.$registro["descricao"].'" /></textarea></td>';         echo '<td><input name="altura" type=text style="width: 70px;" placeholder="'.$registro["altura_latao"].' cm" /></td>';         echo '<td><input name="area" type=text style="width: 70px;" placeholder="'.$registro["area_latao"].' cm" /></td>';                  echo '<td><form method="get" action="salva.php"><center><button class="voltar" type="submit">Salvar</button></center></form><br />';         echo '</tr>';         }     echo '</tbody></table></form>';          ?></center><br />              <div>                         <form method="get" action="index.html">                     <center><button class="voltar" type="submit">Voltar</button></center></form>         </div>                                  <br />                 <footer class="borda_texto"><center>                 <img src="img/rodape_logo.png">                     2019 © <b>DITEC - Smart Solutions</b> - Todos os Direitos Reservados.                 <a class="px-4" href="https://www.ditecsc.com.br" target="_blank">Ditec - Smart Solution</a>                 </center></footer> </body> </html> salva.php
       
      <?php include('conexao.php'); include_once('altera.php');   // declaração de variáveis $id = 22; /*$id = $_GET['id']; $status = $_POST['status'];*/ $descricao = $_POST['desc']; $altura = $_POST['altura']; $area = $_POST['area'];   $up = mysqli_query($conn, "UPDATE interface SET descricao='$descricao', altura_latao='$altura', area_latao='$area' WHERE id=$id");    if(mysqli_affected_rows($conn) > 0){   echo '<center><h1><b>Sucesso</b></h1><br /> <h2>Atualizado!</h2></center>';   header("Refresh: 2;url=equipamentos.php"); }else{     echo '<center><h1><b>Erro</b></h1><br /> <h2>Não foi atualizado!</h2></center>';   header("Refresh: 2;url=altera.php"); }   mysqli_close($conn); ?> Do jeito que esta eu consigo alterar o id=22, mas não consegui pegar o id da linha sequente;
       
       
    • Por LuanMartinsTI
      Tenho o seguinte problema, eu preciso dar um select em duas tabelas, ou ter dois selects tanto faz, eu fiz com inner join e com union all mas nao consigo ter o resultado que eu desejo
      O problema é o seguinte> Pra saber quantos usuarios eu tenho em cada grupo eu preciso dar um select na membros grupo com o id do grupo, mas eu preciso mostrar apenas os 5 primeiros grupos com mais gente, eu nao tenho na tabela falando grupo 1 tem 50 membros, eu tenho 50 linhas com grupo 1 e id do usuario, como eu transformo isso no que eu quero? a unica forma q eu pensei é criar um campo novo em grupos e colocar la o resultado de rowCount, mas gostaria de saber se é possivel fazer sem, eu ja consigo mostrar quantos usuarios cada grupo tem, eu nao consigo mostrar é em ordem e nao é so dar o asc o problema é na logica provavelmente, mas se for possivel resolver isso com uma unica query ficarei grato
      tabela 1
      grupos( id nome dono created stat ) tabela 2
      membros_grupo( id grupo_id user_id )  
      PHP
      public function ultimosGrupos($limite){ try { $query = "SELECT * FROM groups ORDER BY id ASC LIMIT :limite"; $this->Select = $this->Conn->prepare($query); $this->Select->bindParam(':limite' , $limite, PDO::PARAM_INT); $this->Select->execute(); if($this->Select->rowCount() > 0){ return $this->Select->fetchAll(PDO::FETCH_ASSOC); }else{ return FALSE; } } catch (PDOException $exc) { exibeMensagens("Erro ao consultar. {$exc->getMessage()}", WS_ERROR); } } public function users_por_grupo($id){ try { $query = "SELECT * FROM group_memberships WHERE group_id = :id"; $this->Select = $this->Conn->prepare($query); $this->Select->bindParam(':id' , $id, PDO::PARAM_INT); $this->Select->execute(); return $this->Select->rowCount(); } catch (PDOException $exc) { exibeMensagens("Erro ao consultar. {$exc->getMessage()}", WS_ERROR); } }  
    • Por marcossantana10
      Olá, minha dúvida é a seguinte:
       
      Eu faço um cadastro de médico e cada médico tem sua lista de especialidades, que é preenchida no ato do cadastro do médico. Até ai tudo bem..
       
      O problema é que na hora de fazer a página de Editar o registro desse médico, eu preciso listar todas as especialidades que eu tenho já cadastradas no sistema para caso o cara deseje inserir uma nova especialidade pra aquele médico. Eu consigo listá-las numa boa dentro do formulário de edição de registro, mas, gostaria de deixar o checkbox marcado com aquelas que ele já atende, conforme exemplo:
       

       
      Porém, esse registro do exemplo acima tem uma lista com duas especialidades (Urologia e Cardiologia), mas o checkbox só tá marcando uma, como se não tivesse percorrendo o vetor que armazena os resultados.
       
      Segue código:

      Consultas a tabela de todas as especialidades e a tabela das especialidades que já estão contidas no cadastro daquele médico
       
      E aqui o HTML/PHP:

    • Por LuanMartinsTI
      Eu gostaria de saber se existe algum problema relacionado a seguranca criando uma funcao assim, no exemplo sempre que eu crio uma funcao pre reutilizar os dados sao passados direto na chamada da funcao dentro do php, o usuario nao insere nenhum dado, quando o usuario vai inserir dados eu nao trabalho dessa forma, entao minha duvida [e, se mesmo o parametro da funcao sendo informado dentro do php no codigo pode existir algum problema.
      public function contar_cadastro($tabela, $sql){ try { if($sql == null){ $this->Select = $this->Conn->prepare("SELECT * FROM $tabela"); $this->Select->execute(); return $this->Select->rowCount(); }else{ $this->Select = $this->Conn->prepare("SELECT * FROM $tabela". " " ." $sql"); $this->Select->execute(); return $this->Select->rowCount(); } } catch (PDOException $exc) { exibeMensagens($Msg, $ErrNo); } } E as chamadas das funcoes assim
       
      $cmsPDO = new CmsPDO(); $r_userStaff = $cmsPDO->contar_cadastro('usuarios', ' where cargo > 2'); $r_userVip = $cmsPDO->contar_cadastro('usuarios', ' where cargo = 2'); $r_userBan = $cmsPDO->contar_cadastro('usuarios', " where ban = '1'"); $r_usuarioPDO = $cmsPDO->contar_cadastro('usuarios', null); $r_servVip = $cmsPDO->contar_cadastro('servidores', " where vipfree = 'V'"); $r_servFree = $cmsPDO->contar_cadastro('servidores', " where vipfree = 'F'"); $r_servInat = $cmsPDO->contar_cadastro('servidores', " where verificado = '1'"); $r_servOff = $cmsPDO->contar_cadastro('servidores', " where estado = 'Off'"); $r_servOn = $cmsPDO->contar_cadastro('servidores', " where estado = 'On'"); $r_servidores = $cmsPDO->contar_cadastro('servidores', null); Eu normalmente crio as funcoes assim:
      public function cadastrar_usuario($usuario){ try { if($this->veriricarnick($usuario) == false){ if($this->verificiarEmail($usuario) == false){ $query = 'INSERT INTO usuarios ' . '(id, nome, senha, email, cargo, ip)' . 'value(null,:nome, :senha, :email, :cargo, :ip)'; $this->Criar = $this->Conn->prepare($query); $this->Criar->bindValue(':nome' , $usuario->getNome() , PDO::PARAM_STR); $this->Criar->bindValue(':senha' , $usuario->getSenha(), PDO::PARAM_STR); $this->Criar->bindValue(':email' , $usuario->getEmail(), PDO::PARAM_STR); $this->Criar->bindValue(':cargo' , $usuario->getCargo(), PDO::PARAM_INT); $this->Criar->bindValue(':ip' , $usuario->getIp() , PDO::PARAM_STR); $this->Criar->execute(); if($this->Criar->rowCount() == 1){ return 1; }else{ return false; } }else{ return false; } }else{ return false; } } catch (PDOException $exc) { exibeMensagens("<b> Erro ao inserir.</b> Mensagem:{$exc->getMessage()} Código: {$exc->getCode()}", WS_ERROR); } }  
×

Informação importante

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