Pesquisar na Comunidade
Mostrando resultados para as tags ''result''.
Encontrado 3 registros
-
Ola, sou iniciante em PHP e estou com dificuldade para usar array em função anonima. tenho seguinte código: <?php $med = function($n1,$n2,$n3,$n4){ $result = ($n1+$n2+$n3+$n4)/4; return $result; } $aluno[0]["nome"] = "Brian Johnson"; $aluno[0]["media"] = $med(3,6,6,8); $aluno[1]["nome"] = "Lenny Kravitz"; $aluno[1]["media"] = $med(1,4,2,5); $aluno[2]["nome"] = "Bruce Dickinson"; $aluno[2]["media"] = $med(4,5,4,4); $aluno[3]["nome"] = "James Hetfield"; $aluno[3]["media"] = $med(7,4,7,7); $aluno[4]["nome"] = "Angus Young"; $aluno[4]["media"] = $med(7,6,6,8); for($i = 0, $n = count($aluno); $i < $n; $i++){ echo "<b>Nome do aluno: </b>" . $aluno[$i]["nome"] . "</b><br>"; echo "<b>Media do aluno: </b>" . $aluno[$i]["media"] . "</b><br><br>"; } ?> Tenho array contendo notas e nomes dos alunos. Porém quando executo desta maneira ele da o seguinte erro " Parse error: syntax error, unexpected '$aluno' (T_VARIABLE) in C:\wamp64\www\PHP\exec_time.php on line 7 ". Quando eu não uso função anonima (function med($n1,$n2,$n3,$n4)) ele roda sem erros, mas quando tento usar função anonima ele apresenta este erro na variavel $aluno. Pesquisei muito mas não consegui resolver este problema. Alguém poderia me auxiliar? Desde já agradeço!
-
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); ?>
-
Preciso selecionar todos horários dos funcionários (horario_horariofuncionario) de acordo com a filtragem de serviço, data e dia da semana. Estou conseguindo fazer esse select normalmente, porém como são vários horários (horario_horariofuncionario) está sendo gerado um novo resultado para cada novo horário encontrado... E nesses resultados, claro, o único atríbuto que os diferencia é o horario_horariofuncionario o resto dos atríbutos são todos iguais. Então o que eu gostaria é que todos os horario_horariofuncionario fossem retornados em APENAS UM RESULTADO juntamente com o restante dos atríbutos em vez de retornar um novo resultado para cada horario_horariofuncionario... SELECT hf.horario_horariofuncionario, hf.codigo_horariofuncionario, s.nome_servico, ss.tempo_servicosalao, ss.preco_servicosalao, hf.data_horariofuncionario, ds.nome_diasemana, f.nome_funcionario, f.apelido_funcionario, f.foto_funcionario FROM servicosalao ss INNER JOIN servico s INNER JOIN diasemana ds INNER JOIN horariofuncionario hf INNER JOIN funcionario f INNER JOIN servicofuncionario sf ON hf.codigo_funcionario = f.codigo_funcionario WHERE sf.codigo_servicosalao = :servico AND hf.data_horariofuncionario = :data AND ds.nome_diasemana = :diaDaSemana AND hf.codigo_statushorariofuncionario = 1;