Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
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 ??? rsrsrsrsrsnao, 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.
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
entao eu posso usar varios AND ???
>
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' )
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.
Publica o modelo de sua(s) tabela(s)
Você precisa de um intervalo de horas ?
Se for o caso pesquise por BETWEEN.