Ir para conteúdo

Recommended Posts

Estou com uma dúvida meio boba em relação ao banco de dados mysqli, pior que ja consultei em alguns lugares mas nada encontrei sobre isso. Preciso fazer uma busca com vários critérios, como não sei exatamente como fazer vou colocando AND, na maioria das vezes deu certo, mas neste caso específico nao rolou:

$query = mysqli_query($conn, "SELECT * FROM agendamento WHERE fk_id_usuario = '$iddocliente' AND statuz = 5 AND dia = '$dia' AND hora_inicio = '$hora' ");

porém se eu tiro o ultimo AND (hora_inicio = '$hora') entao funciona, só que eu preciso desse critério, pois na tabela pode haver mais agendamentos nesse mesmo dia e status, o que poderia dar problema, alguém pode me ajudar?? ouço vozes ??? rsrsrsrsrs 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você precisa de um intervalo de horas ?

 

Se for o caso pesquise por BETWEEN.

Compartilhar este post


Link para o post
Compartilhar em outros sites

nao, preciso que me traga todas as informações onde o id for igual o id que está na variavel $iddocliente e o status for igual ao da variavel e o dia e a hora respectivamente.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então seu sql está correto o que pode haver é a hora que está na base não ser igual a hora do parâmetro

Compartilhar este post


Link para o post
Compartilhar em outros sites
16 minutos atrás, PeeWee disse:

entao eu posso usar varios AND  ???

Pode sim. Não há limites de operadores.

 

17 horas atrás, PeeWee disse:

statuz = 5

Esse trecho está mesmo correto? Não seria "status"?

 

17 horas atrás, PeeWee disse:

dia = '$dia' AND hora_inicio = '$hora'

Talvez você esteja tendo problemas aqui por causa da especificidade na hora. Hora inicio provavelmente signifique algo como '16:00:00'. Lembre-se da presença dos minutos e dos segundos. Como você está comparando igualdades, pode ser que o banco não esteja conseguindo encontrar o que você quer.

 

Sugestão, caso seja o caso:

// $hora_min = 16:00:00    $hora_max = 16:59:59

dia = '$dia' AND ( hora_inicio BETWEEN '$hora_min' AND '$hora_max' )

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

coloquei statuz com Z só pra diferenciar, está correto sim, e no caso das pode ser que o código esteja interpretando de outra forma, enfim..... como existem mais campos na tabela, vou usar um outro como parametro e tirar a hora, é que eu queria usar o máximo possível, pois caso o usuário for cancelar um agendamento nao se correria o risco de cancelar um outro que tivesse informaçao igual.

 

Obrigado, vou me virar aki  vlw.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Publica o modelo de sua(s) tabela(s)

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 stefanys
      Estou desenvolvendo um trabalho voluntario para uma instituição, o site está praticamente pronto para funcionamento, no entanto uma pagina começou a dar erro
       
      SOLICITACAO.PHP
       
      <?php
      include "verifica.php";
              include "conexao.php";

              $usuario = $_SESSION['usuario_usuario'];
              $sql = mysqli_query($db,"SELECT * FROM login where email = '$usuario'");
              while($linha = mysqli_fetch_array($sql)){
                  $_SESSION['id_usuario']= $linha['id_login'];
                  $id_login = $linha['id_login'];
                  $nome = $linha['nome'];
                  $email = $linha['email'];
                  $telefone = $linha['telefone'];
                  $senha = $linha['senha'];
                  $foto = $linha['fotoperfil'];
              }
       if (isset($_POST['cadastrar'])) {
      $idade = $_POST['idade'];
      $endereco = $_POST['endereco'];
      $telefone = $_POST['telefone'];
      $motivo = $_POST['motivo'];
      $castracao = $_POST['castracao'];
      $seguranca = $_POST['seguranca'];
      $cuidados = $_POST['cuidados'];
      $espaco = $_POST['espaco'];
      $doacao = $_POST['doacao'];
      $vida_animal = $_POST['vida_animal'];
      $adaptacao = $_POST['adaptacao'];
      $ciencia = $_POST['ciencia'];
      $mudanca = $_POST['mudanca'];
      $horario = $_POST['horario'];
      $visitas = $_POST['visitas'];
      $acesso = $_POST['acesso'];
      $outro_animal = $_POST['outro_animal'];
      $confirmar = $_POST['confirmar'];
      $id_login = $linha['id_login'];
      $idanimal = $_POST['idanimal'];
             
                 $query =  mysqli_query($db, "INSERT INTO solicitacao (  endereco, telefone, motivo, castracao, seguranca, cuidados, espaco, doacao, vida_animal, adaptacao, ciencia, mudanca, horario, visitas, acesso, outro_animal, confirmar, id_login, idanimal, idade)  VALUES  ('".$endereco."', '".$telefone."','".$motivo."', '".$castracao."', '".$seguranca."', '".$cuidados."', '".$espaco."', '".$doacao."', '".$vida_animal."', '".$adaptacao."', '".$ciencia."',  '".$mudanca."','".$horario."', '".$visitas."', '".$acesso."', '".$outro_animal."', '".$confirmar."',  '".$id_login."', '".$idanimal."','".$idade."')");
                 
                 if($query){
                  echo "<script language='javascript' type='text/javascript'>alert('SUCESSO');window.location.href='perfilusuario.php';</script>";
                 }else{
                   echo"<script language='javascript' type='text/javascript'>alert('Desculpe! Tente novamente!');window.location.href='perfilusuario.php';</script>";
                 }
                 
       }
             
      ?>
       
      ELE ESTÁ APENAS INDO PARA A MENSAGEM DE ERRO, PRECISO DE AJUDA
    • Por nicolasbessa
      Boa tarde!
       
      Como aplicar a regra abaixo em um select?

      Regra Join
      Quando o campo substr(x, 1,1)  ='1'
      montar a chave de pesquisa:
      y = '8' AND y1 =  'L'||lpad( x1, 2)) 

      Quando o campo substrt(x, 1,1) for igual ='A'
      montar a chave de pesquisa:
      y = '8' AND y1 =  'M'||lpad( x1, 2)) 
       
      obrigado!
    • Por jaum736
      Olá,
      Estou programando um newsletter e ele deveria se conectar com o banco de dados e enviar as informações para o mesmo, porém apenas se conecta. Ele não da nenhum erro, mas também não envia os dados para o banco de dados.
      Segue os códigos:
       
      HTML
       
      <section class="newsletter"> <h3> Newsletter </h3> <p> Receba todas as novidades </p> <form method="post" id="newsletter" name="cadastroNews" action="NewsCad.php"> <input type="text" name="nome" placeholder="Digite seu nome" required> <input type="email" name="email" placeholder="Digite seu email" required> <input type="submit" name="Enviar" value="Cadastrar"> </form> </section> Conexão com o banco de dados - Conexao.php
       
      <?php $host = '127.0.0.1:3306'; $user = 'root'; $password = 'bruxaria'; $database = 'quebrandotabus'; //Conectando ao banco de dados $conn = mysqli_connect($host, $user, $password, $database) or die(mysql_error()); ?> ENVIO DOS DADOS - NewsCad.php
       
      <?php include_once("Conexao.php"); $nome = filter_input(INPUT_POST, 'nome', FILTER_SANITIZE_STRING); $email = filter_input(INPUT_POST, 'email', FILTER_SANITIZE_EMAIL); $result_usuario = "INSERT INTO newsletter (nome, email) VALUES ('$nome' , '$email')" or die(mysql_error()); $resultado_usuario = mysqli_query($conn , $result_usuario); ?> Vocês conseguem me ajudar? Por favor, preciso muito!
    • Por Rodrigo Vieira E da Silva
      Olá pessoal do Forúm tudo bem com vocês?
       
      Eu estou com a seguinte dúvida eu tenho um formulário com um grupo de checkbox relacionado alguns serviços veja abaixo:
       
      Mecânica
      Funilaria
      Pintura
      Cristalização
      Box (Mêcanica / Fulinaria / Pintura / Cristalização)
       
      Eu tenho duas tabelas no meu banco de dados chamada pedido e serviço.
       
      A tabela de PEDIDO eu tenho os seguintes campos
       
      ID
      ID_SERVICO
       
      A tabela de SERVIÇOS eu tenho os seguintes campos
       
      ID
      SERVICO
       
      A minha dúvidas são:
       
      Como eu faço para adicionar um pedido para cada serviço selecionado?
      No item Box eu preciso gerar um único número de pedido mas para o Box na tabela na serviço tem que guardar separado cada serviço mas o numero desse pedido é o mesmo, como fazer isso?
       
      Eu estou usando Mysqli como drive de banco de dados.
       
    • Por Keron
      Olá, estou aqui de novo, mas não se trata de um erro. Eu descobri aí pelo google que existe outra forma procedural de armazenar um resultado de uma consulta no caso 'mysqli_stmt_bind_result'  e que em alguns casos existem servidores que o  'mysqli_stmt_bind_result' funciona e o  'mysqli_stmt_get_result' não e vice-versa. Eu queria entender melhor como usar o bind_result, alguém poderia me explicar o por que de algumas das variáveis do código a seguir.
       
      código do manual PHP:
      <?php $link = mysqli_connect("localhost", "my_user", "my_password", "world"); if (!$link) { printf("Connect failed: %s\n", mysqli_connect_error()); exit(); } if ($stmt = mysqli_prepare($link, "SELECT Code, Name FROM Country ORDER BY Name LIMIT 5")) { mysqli_stmt_execute($stmt); mysqli_stmt_bind_result($stmt, $col1, $col2); #################¨¨¨¨¨¨$$$$$$$$$$$ ESSA LINHA ############$$$$$$$$$$$$¨¨¨¨¨¨¨¨ while (mysqli_stmt_fetch($stmt)) { printf("%s %s\n", $col1, $col2); } mysqli_stmt_close($stmt); } mysqli_close($link); ?> Minhas Dúvidas: por que foi criada as variáveis $col1 e $col2? Cada uma armazena uma coluna do bd no $stmt, seria isso? tem que criar as variáveis assim, do nada?
       
      No caso da consulta: 
      ($stmt = mysqli_prepare($link, "SELECT Code, Name FROM Country ORDER BY Name LIMIT 5")) eram 2 colunas 'Code e Name' , e se no caso eu quisesse uma consulta assim:
      "SELECT*FROM Country ORDER BY Name LIMIT 5" Como que eu faria já que não está especificado o número de colunas?
      E por que no mysqli_stmt_fetch está armazenado $stmt? não se pode fazer igual no 'mysqli_stmt_get_result' onde passamos por exemplo:
      $result = mysqli_stmt_get_result($stmt); $row = mysqli_fetch_assoc($result); se eu atribuísse mysqli_stmt_bind_result($stmt, $col1, $col2); a uma variável ex: $result = mysqli_stmt_bind_result($stmt, $col1, $col2);  $row = mysqli_stmt_fetch($result)  funcionaria?
       
      Espero que alguém consiga me ajudar, desde já obrigada para quem leu!
       
×

Informação importante

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