Depois de executar o primeiro select preciso capturar o valor de duas calunas para cada linha retornada na consulta.
As colunas que preciso capturar são: horario_horariofuncionario e tempo_servicosalao.
Após capturar os valores dessas colunas, necessito usar esses valores no select que está dentro do laço WHILE.
Porém a variável está vindo com valor diferente: deveria ser '21:00' mas está vindo :00
<?php
include 'conectar.php';
$servico = $_GET['servico'];
$data = $_GET['data'];
$diaDaSemana = $_GET['diaDaSemana'];
$stmt = $conn->query("SET CHARACTER SET utf8");
$stmt = $conn->query("SET NAMES utf8");//Selecionando horários disponíveis na data selecionada para todos profissionais que fizerem o serviço selecionado
$stmt = $conn->prepare("SELECT hf.horario_horariofuncionario, hf.codigo_horariofuncionario, sf.codigo_servicosalao, s.nome_servico, ss.tempo_servicosalao, ss.preco_servicosalao, hf.data_horariofuncionario, hf.nomeDiaSemana_horariofuncionario, f.codigo_funcionario, f.nome_funcionario, f.apelido_funcionario, f.foto_funcionario FROM servicosalao ss NATURAL JOIN servico s NATURAL JOIN horariofuncionario hf NATURAL JOIN funcionario f NATURAL JOIN servicofuncionario sf WHERE sf.codigo_servicosalao = :servico AND hf.data_horariofuncionario = :data AND hf.nomeDiaSemana_horariofuncionario = :diaDaSemana AND hf.codigo_statushorariofuncionario IN (1,3) ORDER BY STR_TO_DATE(hf.horario_horariofuncionario,'%H:%i')");
$stmt->bindParam(':servico', $servico, PDO::PARAM_INT);
$stmt->bindParam(':data', $data, PDO::PARAM_STR,10);
$stmt->bindParam(':diaDaSemana', $diaDaSemana, PDO::PARAM_STR,15);
$stmt->execute();//Criando array
$rows = array();//Percorrendo resultados retornadoswhile($row = $stmt->fetch(PDO::FETCH_ASSOC)){
$horario = $row['horario_horariofuncionario'];
$tempo = $row['tempo_servicosalao'];
$stmt = $conn->prepare("SELECT hf.horario_horariofuncionario
FROM horariofuncionario hf
NATURAL JOIN servicofuncionario sf
WHERE sf.codigo_servicosalao = :servico
AND hf.data_horariofuncionario = :data
AND hf.nomeDiaSemana_horariofuncionario = :diaDaSemana
AND hf.codigo_statushorariofuncionario = 2
group by (hf.horario_horariofuncionario)
HAVING STR_TO_DATE(hf.horario_horariofuncionario,'%H:%i')
BETWEEN STR_TO_DATE($horario,'%H:%i') AND
SEC_TO_TIME( SUM( TIME_TO_SEC( STR_TO_DATE($horario,'%H:%i') )
+ TIME_TO_SEC( STR_TO_DATE($tempo,'%i') ) ) )");
$stmt->bindParam(':servico', $servico, PDO::PARAM_INT);
$stmt->bindParam(':data', $data, PDO::PARAM_STR,10);
$stmt->bindParam(':diaDaSemana', $diaDaSemana, PDO::PARAM_STR,15);
$stmt->execute();//Recebendo o número de linhas retornadas
$rows = $stmt->fetchAll();//Contando o número de linhas retornadas
$total = count($rows);//Se não retornou resultadosif($total <1){
$rows[]= $row;}}
echo json_encode($rows);?>
Utilizamos cookies e tecnologias semelhantes de acordo com a nossa Política de Privacidade, e ao continuar navegando, você concorda com estas condições.
Pergunta
mnmn
Olá pessoal, tudo bom?
Poderiam me ajudar?
Depois de executar o primeiro select preciso capturar o valor de duas calunas para cada linha retornada na consulta.
As colunas que preciso capturar são: horario_horariofuncionario e tempo_servicosalao.
Após capturar os valores dessas colunas, necessito usar esses valores no select que está dentro do laço WHILE.
Porém a variável está vindo com valor diferente: deveria ser '21:00' mas está vindo :00
Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.