Ir para conteúdo

POWERED BY:

Arquivado

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

Rodrigo5468

Calendário

Recommended Posts

Pesquisei por toda internet e não acho nada relacionado a calendário, e o que acho é sobre mysql_query. Eu queria fazer um sistema de calendário com PDO pode ser até OO. Mas eu não sei como fazer, sou muito leigo no assunto. Só consigo fazer com uma explicação ou um tutorial. Se alguém poder me ajudar a fazer eu fico muito grato. Quero que o sistema de calendário pega até o ano e mês que é bissexto ou não. Alguém pode me ajudar por favor?

 

 

Obrigado desde já.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se você não acha tutorial de Calendário com PDO, pegue um tutorial de PDO e outro de Calendário. Estude os dois e junte as ideias.

Nem sempre você vai encontrar exatamente o que precisa

 

PDO:

http://rberaldo.com.br/pdo-mysql/

 

Calendário:

http://forum.imasters.com.br/topic/138564-calendario-tableless-em-varios-idiomas/

http://www.scriptbrasil.com.br/forum/topic/97222-classe-calend%C3%A1rio/

(os dois são antigos, mas a ideia é o que importa)

 

Funções de Data e Hora do PHP:

http://php.net/manual/pt_BR/ref.datetime.php

 

Classe DateTime do PHP:

http://rberaldo.com.br/php-usando-a-classe-nativa-datetime/

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Beraldo!

 

Achei um "framework" e estou usando ele. https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.10.2/moment.min.js

Porem eu queria fazer tipo, uma área de eventos, deixa-me explicar um pouco.

Criar um campo para administradores enviar um POST e colocar no calendário. Usando este há como fazer?

 

 

Obrigado por tudo!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Beraldo estou fazendo um CRUD.

Só que assim, vou criar um formulário para o administrador colocar os seguintes dados: nome do evento, data de inicio e fim do evento. Apos isso vai mandar para o banco de dados.

Queria fazer o seguinte, mandar os dados para esta biblioteca que estou utilizado. Como posso fazer isso?

 

Estou tentando criar o calendário em PHP puro, mais está muito complicado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

É só imprimir os valores dentro do JS

Por exemplo:

 

<script>
alert('<?php echo $variavel; ?>');
</script>

 

Assim você vai montando a estrutura necessária para o JS funcionar como esperado

 

Também pode fazer via Ajax. O PHP retorna a string JS e ela é atribuída diretamente ao Moment.js

Compartilhar este post


Link para o post
Compartilhar em outros sites

Beraldo estava pesquisando e fazendo o script do crud. Conseguir fazer, porem fiz somente o insert. Descobrir que tem como implantar o evento no calendário, é deste jeito. E é por javascript.

{
	title: 'Título',
	start: new Date(y, m, 8)
},

Porem como estou salvando os dados no banco de dados, eu queria saber se tem como eu colocar uma variável no title e número oito. E ir adicionando este script assim que um novo dado é inserido. Como posso fazer isso?

 

 

Obrigado desde já! E obrigado por toda ajuda que você vem me dando.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Desde que esse script esteja em um arquivo PHP (extensão .php), você é livre pra dar echo no que quiser:

 

 

<script>
// códigos JS
<?php 
$titulo = 'nome';
$n = 12;
echo "{
title: '" . $titulo . "',
start: new Date(y, m, " . $n . ")
},"
?>
</script>

 

ou colocando as tags PHP apenas onde quiser exibir os dados

 

{
title: '<?php echo $titulo; ?>',
start: new Date(y, m, <?php echo $n; ?>)
},

Compartilhar este post


Link para o post
Compartilhar em outros sites

Nossa, tão fácil! Eu tentei fazer só que deu um erro, e porquê estava usando echo antes de tudo.

Beraldo, estou fazendo uma lista dos eventos. E depois colocar no script js + php, como você me explicou, logo a cima.

Porem está dando um erro, procurei e encontrei alguns artigos. Tentei executa-lo porem o erro persiste, olhe.

lLn62kw.png

<?php
	$sql = 'SELECT * FROM calendar ORDER BY id DESC';
	$stmt = NewDB::prepare($sql);
	$stmt->execute();
	$row = $stmt->fetchAll();
	
	echo $row->title;
	var_dump($row);
?>

Está dando erro aqui, echo $row->title;

O que é isso? Como posso resolver?

 

 

E obrigado mais uma vez.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Isso ocorre au usar "->" em algo que não é objeto

Veja: http://rberaldo.com.br/as-mensagens-de-erros-mais-comuns-do-php/#call_member_func

 

fetchAll() por padrão retorna array, não objeto

Você pode alterar isso passando um parâmetro para fetchAll() (PDO::FETCH_OBJ, por exemplo), conforme mostrado aqui:

http://php.net/manual/pt_BR/pdostatement.fetch.php

 

(o link é para fetch(), mas a lista de parâmetros aceitos é a mesma)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Muito obrigado Beraldo, só falta uma coisa que estou tendo dificuldade de fazer.

É colocar os eventos no calendário. Ordenas as datas no javascript para funcionar perfeitamente e está pronto. Fiz assim.

<?php
	$dia = 09;
	$mes = 10;
	$ano = 2015;
	
	foreach($row as $key => $evento):
		echo ' {
			title: "' . $evento->title . '",
			start: new Date(' . $ano . ', ' . $mes . ', ' . $dia . ')
		},';
	endforeach;
?>

O start é como o método date. Hoje é 2015-10-09. Eu quero fazer o ano ir para alguma variável ano, mês, dia... Deu para entender? Porquê ai vai aparecer no script a data do evento e já adiciona no calendário. Como que eu posso fazer isso? Separar a data?

 

 

Muito obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você quer separar 09, 10, e 2015 da data 2015-10-09?

Se for isso, pode fazer de várias formas, como usando sscanf:

 

 

php > sscanf('2015-10-09', '%d-%d-%d', $y, $m, $d);
php > echo $d;
9
php > echo $m;
10
php > echo $y;
2015

Falo mais sobre isso neste artigo: http://rberaldo.com.br/php-conversao-de-datas-formato-brasileiro-e-formato-iso/

Compartilhar este post


Link para o post
Compartilhar em outros sites

Muito obrigado Beraldo, funcionou perfeitamente!

Porem estou com uma dúvida, estamos em 09/10/2015: dia (d) , mês (m) , ano (y) | ano (y) , mês (m) , dia (d).

Minha data do start, está assim: 2015-10-09.

Porem, deveria ir para o mês de outubro, e está indo para dezembro. Não estou entendendo, e quando coloco a data assim: 2015-01-01, vai para fevereiro. Estou confuso. Como que faço para ir para o mês correto? Só estou com problema no mês.

<?php
	foreach($row as $key => $evento):
		sscanf($evento->start, '%d-%d-%d', $y, $m, $d);
		
		echo ' {
			title: "' . $evento->title . '",
			start: new Date(' . $y . ', ' . $m . ', ' . $d . ')
		},';
	endforeach;
?>

E obrigado mais uma vez!

 


 

#Double Post

 

Beraldo, estava olhando no PHPMyAdmin, e á data 2015-01-01, eu alterei para 2015-00-01. E ficou marcando fevereiro. Então o calendário vai de 00 à 11 e não de 01 à 12. Como posso fazer uma gambiarra pra ajeitar isso?

 

 

E obrigado!

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.