Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
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é.
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?
Você tentou alterar o que eu disse? se alterou fale que erro está dando agora.
Ele não está dando erro, simplesmente não traz;
coloque no começo do script, logo após o **<?php** isso:
<?php
error_reporting(E_ALL);
Execute novamente e depois fale o resultadoVou 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);
?>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);
}
...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;troque isso:
echo json_encode($var);
por
echo json_encode($data);
>
Também não resolve, ajustei o codigo assim:
$var = array_push($data, $data_db);
É o que lê! :ermm:
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?
O JSON parece correto, como ta a parte que gera o calendario agora?
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);
?>
Com PDO seria só isso:
$resultados = $conn->query('
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();