Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

WagnerFilho

Exibir eventos fullcalendar codeigniter

Recommended Posts

Olá! Quero recuperar os eventos do banco de dados e exibi-los no calendário.

Podem me ajudar a fazer isto?

Até o momento, possuo os seguintes códigos:

Model:

Public function obter_noticias()
{
$sql = "SELECT * FROM noticias WHERE noticias.id";
return $this->db->query($sql, array($_GET['start'], $_GET['end']))->result();
}

controller:

Public function obter_noticias()
{
    $result=$this->Noticias_model->obter_noticias();
    echo json_encode($result);
    echo $this->db->last_query();            
    die();
}

No arquivo.js, estou utilizando o seguinte código:

var base_url='http://localhost/ci_adminlte/admin';
$(document).ready(function(){
	$('#calendar').fullCalendar({
	//alert('Teste de carregamento FullCalendar');
	header: {
            left: 'prev,next today',
            center: 'title',
            //right: 'month,basicWeek,basicDay'
            right: 'month,agendaWeek,agendaDay,listWeek,'
        },        
        editable: false,
	navLinks: true,
	//selectable: true,
	selectHelper: true,
	events: base_url+'noticias/obter_noticias'
	});
});

Abaixo, segue minha tabela:

id INT(11) NOT NULL AUTO_INCREMENT,
data DATETIME NOT NULL,
titulo TEXT NULL DEFAULT NULL,
noticia TEXT NULL DEFAULT NULL,
usuario_cadastro VARCHAR(40) NOT NULL,
usuario_alteracao VARCHAR(40) NOT NULL,
dt_cadastro DATETIME NOT NULL,
dt_alteracao DATETIME NULL DEFAULT NULL,

Compartilhar este post


Link para o post
Compartilhar em outros sites

Caro amigo

Wagner

Não sou especialista em CODEIGNITER, tenho um sistema que estou estudando e tenho o seguinte código, que trabalha com DATA.

controller

    function editar() {

        $this->load->library('form_validation');
        $this->data['custom_error'] = '';

        if ($this->form_validation->run('vendas') == false) {
            $this->data['custom_error'] = (validation_errors() ? '<div class="form_error">' . validation_errors() . '</div>' : false);
        } else {

            $dataVenda = $this->input->post('dataVenda');

            try {
                
                $dataVenda = explode('/', $dataVenda);
                $dataVenda = $dataVenda[2].'-'.$dataVenda[1].'-'.$dataVenda[0];


            } catch (Exception $e) {
               $dataVenda = date('Y/m/d'); 
            }

            $data = array(
                'dataVenda' => $dataVenda,
                'usuarios_id' => $this->input->post('usuarios_id'),
                'clientes_id' => $this->input->post('clientes_id')
            );

            if ($this->vendas_model->edit('vendas', $data, 'idVendas', $this->input->post('idVendas')) == TRUE) {
                $this->session->set_flashdata('success','Venda editada com sucesso!');
                redirect(base_url() . 'index.php/vendas/editar/'.$this->input->post('idVendas'));
            } else {
                $this->data['custom_error'] = '<div class="form_error"><p>Ocorreu um erro</p></div>';
            }
        }

        $this->data['result'] = $this->vendas_model->getById($this->uri->segment(3));
        $this->data['produtos'] = $this->vendas_model->getProdutos($this->uri->segment(3));
        $this->data['view'] = 'vendas/editarVenda';
        $this->load->view('tema/topo', $this->data);
   
    }

no .js está assim:

//Calendar.js



$(document).ready(function(){
	
	unicorn.init();
	
	$('#add-event-submit').click(function(){
		unicorn.add_event();
	});
	
	$('#event-name').keypress(function(e){
		if(e.which == 13) {	
			unicorn.add_event();
		}
	});	
});

unicorn = {	
	
	
	init: function() {	

		var date = new Date();
		var d = date.getDate();
		var m = date.getMonth();
		var y = date.getFullYear();	
		
		$('#fullcalendar').fullCalendar({
			header: {
				left: 'prev,next',
				center: 'title',
				right: 'month,basicWeek,basicDay'
			},
			editable: true,
			droppable: true, 
			drop: function(date, allDay) { 
				

				var originalEventObject = $(this).data('eventObject');
					
				
				var copiedEventObject = $.extend({}, originalEventObject);
					
			
				copiedEventObject.start = date;
				copiedEventObject.allDay = allDay;
					

				$('#fullcalendar').fullCalendar('renderEvent', copiedEventObject, true);
					
				
					$(this).remove();
				
			}
		});
		this.external_events();		
	},
	
	
	add_event: function(){
		if($('#event-name').val() != '') {
			var event_name = $('#event-name').val();
			$('#external-events .panel-content').append('<div class="external-event ui-draggable label label-inverse">'+event_name+'</div>');
			this.external_events();
			$('#modal-add-event').modal('hide');
			$('#event-name').val('');
		} else {
			this.show_error();
		}
	},
	
	
	external_events: function(){
	
		$('#external-events div.external-event').each(function() {		
		
			var eventObject = {
				title: $.trim($(this).text()) 
			};
				
		
			$(this).data('eventObject', eventObject);
				
		
			$(this).draggable({
				zIndex: 999,
				revert: true,      /
				revertDuration: 0  
			});		
		});		
	},
	

	show_error: function(){
		$('#modal-error').remove();
		$('<div style="border-radius: 5px; top: 70px; font-size:14px; left: 50%; ; position: absolute;width: 140px; background-color: #f00; text-align: center; padding: 5px; color: #ffffff;" id="modal-error">Enter event name!</div>').appendTo('#modal-add-event .modal-body');
		$('#modal-error').delay('1500').fadeOut(700,function() {
			$(this).remove();
		});
	}
	
	
};

Espero ter ajudado com sua dúvida.

Abraços,

Renato

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.