Jump to content
Fórum Script Brasil
  • 0

Capturar resultados de select usando PDO


mnmn
 Share

Question

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

<?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 retornados
	while($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 resultados
		if($total  < 1) {
			$rows[] = $row;
		}
	}

	echo json_encode($rows);

?>

 

Link to comment
Share on other sites

0 answers to this question

Recommended Posts

There have been no answers to this question yet

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share



  • Forum Statistics

    • Total Topics
      149.9k
    • Total Posts
      646.8k
×
×
  • Create New...