anderluz 2 Denunciar post Postado Novembro 7, 2014 Olá tudo bem? Galera estou tentando fazer uma agenda consegui criar os registros normalmente, o problema está em mostrar os registros no calendário fullcalendar, estou tendo muita dificuldade em obter os dados da tabela e mostrar elas, todos os tutoriais que encontrei a respeito utilizam uma sintaxe bastante complexa e POO. Galera abaixo um trecho do código que tentei adaptar de outro tuto.. <?php include_once("conexao.inc"); ?> <?php $seleciona = "SELECT nome, dt_agendamento, horario, presenca FROM Agendamento A, Usuario u, Pessoa_fisica pf where a.cod_login = u.cod_login and pf.cod_pessoa_fisica = u.cod_pessoa_fisica group by cod_agendamento;"; $resultadoVerifica = mysql_query($seleciona); $registrosVerifica = mysql_num_rows($resultadoVerifica); if (mysql_num_rows($resultadoVerifica)>0){ while($row=mysql_fetch_array($resultado)){ $array['dt_agendamento'] = $row['dt_agendamento']; $array['horario'] = $row['horario']; $array['nome'] = $row['nome']; $array['title'] = "Agendados"; $eventos[] .= $array; } echo json_encode($eventos); ?> Galera estou usando esse código para tentar trazer os dados do BD, estou usando programação orientada estruturada, e json para trazer os dados. Detalhe não entendo nada de json e estou utilizando os exemplos do demo do fullcalendar para poder trazer os dados, então o meu arquivo que cria o calendario chama o arquivo get-events, coloquei este codigo dentro, mas estou com muita dificuldade em compreender a logica de buscar os dados e repassar eles para o calendario com devidos dados (nome de usuario, dt_agendamento, horario/ varchar,date e varchar os dados respectivamente). Aguardo resposta, espero conseguir ajuda. Obrigado pelo empenho, grande abraço, até. Compartilhar este post Link para o post Compartilhar em outros sites
ExtremsX 58 Denunciar post Postado Novembro 7, 2014 Com PDO seria só isso: $resultados = $conn->query(' SELECT nome, dt_agendamento, horario, presenca FROM Agendamento A, Usuario u, Pessoa_fisica pf WHERE a.cod_login = u.cod_login AND pf.cod_pessoa_fisica = u.cod_pessoa_fisica GROUP BY cod_agendamento ')->fetchAll(); echo json_encode($resultados); Isso não existe: $eventos[] .= $array; Acho que é isso que você queria: $eventos[] = $array; Mas lembre-se de iniciar a variável a cada iteração: $array = array(); Compartilhar este post Link para o post Compartilhar em outros sites
anderluz 2 Denunciar post Postado Novembro 7, 2014 Pois é, mas não estou com programação orientado a objetos se não me engano este $conn viria do conexao.inc né? mas está tudo estruturado, tem como resolver isso de uma forma simples independente de usar POO ou Estrutural? Compartilhar este post Link para o post Compartilhar em outros sites
ExtremsX 58 Denunciar post Postado Novembro 7, 2014 Você tentou alterar o que eu disse? se alterou fale que erro está dando agora. Compartilhar este post Link para o post Compartilhar em outros sites
anderluz 2 Denunciar post Postado Novembro 7, 2014 Ele não está dando erro, simplesmente não traz; Compartilhar este post Link para o post Compartilhar em outros sites
ExtremsX 58 Denunciar post Postado Novembro 7, 2014 coloque no começo do script, logo após o <?php isso: <?php error_reporting(E_ALL); Execute novamente e depois fale o resultado Compartilhar este post Link para o post Compartilhar em outros sites
anderluz 2 Denunciar post Postado Novembro 7, 2014 Vou repassar todo o codigo, para poder visualizar melhor, este é todo o script que uso dento da minha pagina para renderizar o calendario, eu não entendo muito de javascript mas é para ele ser em portugues e sincronizar com o arquivo get-events.php <script> $(document).ready(function() { var currentLangCode = 'pt-br'; function renderCalendar() { $('#calendar').fullCalendar({ header: { left: 'prev,next today', center: 'title', right: 'month,agendaWeek,agendaDay' }, lang: currentLangCode, buttonIcons: false, // show the prev/next text weekNumbers: true, editable: true, eventLimit: true, // allow "more" link when too many events }); } renderCalendar(); }); $(document).ready(function() { $('#calendar').fullCalendar({ header: { left: 'prev,next today', center: 'title', right: 'month,agendaWeek,agendaDay' }, defaultDate: '2014-09-12', editable: true, eventLimit: true, // allow "more" link when too many events events: { url: 'libraries/fullcalendar/demos/php/get-events.php', error: function() { $('#script-warning').show(); } }, loading: function(bool) { $('#loading').toggle(bool); } }); }); </script> e este é o código atual dentro daquele arquivo get-event.php <?php include_once("conexao.inc"); ?> <?php error_reporting(E_ALL); $seleciona = $conn ->query ("SELECT nome, dt_agendamento, horario, presenca FROM Agendamento A, Usuario u, Pessoa_fisica pf where a.cod_login = u.cod_login and pf.cod_pessoa_fisica = u.cod_pessoa_fisica group by cod_agendamento;")->fetchAll(); echo json_encode($seleciona); ?> coloquei ele não acusa erro, está renderizando o calendário em branco... E o meu conexao.inc <?php // LOCAL $dbname = 'integrado2'; $usuario = 'root'; $password = '1234'; $host = 'localhost'; $conexao = mysql_connect($host,$usuario,$password); if(!($conexao)) { echo "Não foi possível estabelecer uma conexão com o gerenciador MySQL. Favor Contactar o Administrador."; exit; } $banco = mysql_select_db($dbname,$conexao); if(!($banco)) { echo "Não foi possível encontrar o Banco de Dados. Favor Contactar o Administrador."; exit; } mysql_set_charset('UTF8', $conexao); ?> Compartilhar este post Link para o post Compartilhar em outros sites
Williams Duarte 431 Denunciar post Postado Novembro 7, 2014 Use array_push, vai deixar mais limpo ... $data = array(); while($row=mysql_fetch_array($resultado)){ $data_db = array( 'dt_agendamento' => $row['dt_agendamento'], 'horario' => $row['horario'], 'nome' => $row['nome'], 'title' => 'Agendados', ); array_push($data, $data_db); } ... Compartilhar este post Link para o post Compartilhar em outros sites
anderluz 2 Denunciar post Postado Novembro 7, 2014 Também não resolve, ajustei o codigo assim: <?php include_once("conexao.inc"); ?> <?php error_reporting(E_ALL); $seleciona="SELECT nome, dt_agendamento, horario, presenca FROM Agendamento A, Usuario u, Pessoa_fisica pf where a.cod_login = u.cod_login and pf.cod_pessoa_fisica = u.cod_pessoa_fisica group by cod_agendamento;"; $data = array(); $resultadoVerifica = mysql_query($seleciona); $registrosVerifica = mysql_num_rows($resultadoVerifica); while($row=mysql_fetch_array($resultadoVerifica)){ $data_db = array( 'dt_agendamento' => $row['dt_agendamento'], 'horario' => $row['horario'], 'nome' => $row['nome'], 'title' => 'Agendados', ); $var = array_push($data, $data_db); } echo json_encode($var); ?> Ele não lista no calendario, se entrar dentro do arquivo pelo navegador ele imprime o numero de registros no banco; Compartilhar este post Link para o post Compartilhar em outros sites
ExtremsX 58 Denunciar post Postado Novembro 7, 2014 troque isso: echo json_encode($var); por echo json_encode($data); Compartilhar este post Link para o post Compartilhar em outros sites
Williams Duarte 431 Denunciar post Postado Novembro 7, 2014 Também não resolve, ajustei o codigo assim: $var = array_push($data, $data_db); É o que lê! :ermm: http://php.net/manual/pt_BR/function.array-push.php Compartilhar este post Link para o post Compartilhar em outros sites
anderluz 2 Denunciar post Postado Novembro 7, 2014 Dentro do arquivo get-events.php ele lista agora todo os valores da seguinte forma. [{"dt_agendamento":"2014-11-27","horario":"10:40","nome":"ANDR\u00c9 ","title":"Agendados"},{"dt_agendamento":"2014-11-20","horario":"07:40","nome":"ANDR\u00c9","title":"Agendados"},{"dt_agendamento":"2014-11-20","horario":"07:40","nome":"ANDR\u00c9 ","title":"Agendados"},{"dt_agendamento":"2014-11-21","horario":"07:40","nome":"ANDR\u00c9 ","title":"Agendados"}] mas no calendario ainda não carrega, será que não está falantando algo no script que gera o calendario? Compartilhar este post Link para o post Compartilhar em outros sites
ExtremsX 58 Denunciar post Postado Novembro 7, 2014 O JSON parece correto, como ta a parte que gera o calendario agora? Compartilhar este post Link para o post Compartilhar em outros sites
anderluz 2 Denunciar post Postado Novembro 7, 2014 O arquivo que renderiza o calendario, troxe o arquivo que busca os arquivos para a raiz do projeto para facilitar: <link rel='stylesheet' href='libraries/fullcalendar/lib/cupertino/jquery-ui.min.css' /> <link href='libraries/fullcalendar/fullcalendar.css' rel='stylesheet' /> <link href='libraries/fullcalendar/fullcalendar.print.css' rel='stylesheet' media='print' /> <script src='libraries/fullcalendar/lib/moment.min.js'></script> <script src='libraries/fullcalendar/lib/jquery.min.js'></script> <script src='libraries/fullcalendar/fullcalendar.min.js'></script> <script src='libraries/fullcalendar/lang-all.js'></script> <script> $(document).ready(function() { var currentLangCode = 'pt-br'; function renderCalendar() { $('#calendar').fullCalendar({ header: { left: 'prev,next today', center: 'title', right: 'month,agendaWeek,agendaDay' }, lang: currentLangCode, buttonIcons: false, // show the prev/next text weekNumbers: true, editable: true, eventLimit: true, // allow "more" link when too many events }); } renderCalendar(); }); $(document).ready(function() { $('#calendar').fullCalendar({ header: { left: 'prev,next today', center: 'title', right: 'month,agendaWeek,agendaDay' }, defaultDate: '2014-09-12', editable: true, eventLimit: true, // allow "more" link when too many events events: { url: 'get-events.php', error: function() { $('#script-warning').show(); } }, loading: function(bool) { $('#loading').toggle(bool); } }); }); </script> o arquivo que busca os registros, o conexao também esta na raiz. <?php include_once("conexao.inc"); ?> <?php error_reporting(E_ALL); $seleciona="SELECT nome, dt_agendamento, horario, presenca FROM Agendamento A, Usuario u, Pessoa_fisica pf where a.cod_login = u.cod_login and pf.cod_pessoa_fisica = u.cod_pessoa_fisica group by cod_agendamento;"; $data = array(); $resultadoVerifica = mysql_query($seleciona); $registrosVerifica = mysql_num_rows($resultadoVerifica); while($row=mysql_fetch_array($resultadoVerifica)){ $data_db = array( 'dt_agendamento' => $row['dt_agendamento'], 'horario' => $row['horario'], 'nome' => $row['nome'], 'title' => 'Agendados', ); $var = array_push($data, $data_db); } echo json_encode($data); ?> Compartilhar este post Link para o post Compartilhar em outros sites