Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Salve Salve galera Imasters,
Seguinte: vou publicar a área administrativa do calendário que eu desenvolvi:
Veja neste tópico. Calendário de Eventos PHP MySQL
Veja a agenda funcionando: CLIQUE AQUI PARA VER A AGENDA EM AÇÃO
Primeiramente vamos criar a página com formulário para add eventos:
admin.php
<?php
//criar a conexão com o banco
include "sql.php";
if(isset($_POST['done'])){
$evento = $_POST['evento'];
$dtevento = $_POST['dia']."-".$_POST['mes']."-".$_POST['ano'];
$autor = $_POST['autor'];
$hora = $_POST['hora'];
$local = $_POST['local'];
$conteudo = $_POST['conteudo'];
if(empty($evento) || empty($dtevento) || empty($conteudo) || empty($local)){
$erro = "Opa, você deve preencher todos os campos";
}else{
$sql = mysql_query("INSERT INTO `agenda`(`evento`, `dtevento`, `autor`, `hora`, `local`, `conteudo`) VALUES ('$evento', '$dtevento', '$autor', '$hora', '$local', '$conteudo')") or die(mysql_error());
if($sql){
$erro = "Dados cadastrados com sucesso!";
} else{
$erro = "Não foi possivel cadastrar os dados";
}
}
}
?>
<style type="text/css">
.campo{
width:400px;
}
</style>
<form name="form1" action="admin.php" method="POST" style="padding-top:40px;">
<?php
if(isset($erro)){
print '<div style="width:80%; background:#ff6600; color:#fff; padding: 5px 0px 5px 0px; text-align:center; margin: 0 auto;">'.$erro.'</div>';
}
?>
<table border="0" width="80%" bgcolor="#f0f0f0" style="border:1px solid #ccc; margin:0 auto; position:relative;">
<thead>
<tr>
<th colspan="2">.:: Inserir Evento no Calendário ::.</th>
</tr>
</thead>
<tbody>
<tr>
<td width="20%">Evento:</td>
<td width="auto"><input type="text" name="evento" value="" class="campo" id="evento" /></td>
</tr>
<tr>
<td>Autor:</td>
<td><input name="autor" type="text" class="campo" id="autor" /></td>
</tr>
<tr>
<td>Data Evento:</td>
<td><select name="dia">
<option>1</option>
<option>2</option>
<option>3</option>
<option>4</option>
<option>5</option>
<option>6</option>
<option>7</option>
<option>8</option>
<option>9</option>
<option>10</option>
<option>11</option>
<option>12</option>
<option>13</option>
<option>14</option>
<option>15</option>
<option>16</option>
<option>17</option>
<option>18</option>
<option>19</option>
<option>20</option>
<option>21</option>
<option>22</option>
<option>23</option>
<option>24</option>
<option>25</option>
<option>26</option>
<option>27</option>
<option>28</option>
<option>29</option>
<option>30</option>
<option>31</option>
</select>
<select name="mes" >
<option>1</option>
<option>2</option>
<option>3</option>
<option>4</option>
<option>5</option>
<option>6</option>
<option>7</option>
<option>8</option>
<option>9</option>
<option>10</option>
<option>11</option>
<option>12</option>
</select>
<select name="ano" >
<option>2008</option>
<option>2009</option>
<option>2010</option>
<option>2011</option>
<option>2012</option>
<option>2013</option>
</select> </td>
</tr>
<tr>
<td>Hora:</td>
<td><input name="hora" type="text" class="campo" id="hora">(hh:mm)</td>
</tr>
<tr>
<td>Local:</td>
<td><input name="local" type="text" class="campo" id="local"></td>
</tr>
<tr>
<td valign="top">Descricão:</td>
<td><textarea name="conteudo" rows="8" class="campo" >
</textarea></td>
</tr>
<tr>
<td></td>
<td><input type="submit" value="Cadastrar Evento" /><input type="hidden" name="done" value="" /></td>
</tr>
</tbody>
</table>
</form>listagenda.php
<style type="text/css">
.cinza{
background:#f0f0f0;
height:20px;
}
.claro{
background:#f9f9f9;
height:20px;
}
.fonte{
color:#FFFFFF;
font-weight:bold;
height:25px;
}
</style>
<div style="margin:10px auto; width:90%; padding:5px 0px 5px 0px;">
<?php
include "sql.php";
$max = 10;
$pagina = $_GET['pagina'];
if(!$pagina){
$inicio = 0;
$pagina = 1;
}else{
$inicio = ($pagina - 1) * $max;
}
$sqln = mysql_query("SELECT * FROM agenda ORDER BY id DESC");
$num = mysql_num_rows($sqln);
if($num == 0){
print "Até o momento não temos nenhum evento agendado";
}else{
$total_paginas = ceil($num/$max);
print "Temos ".$num." eventos cadastrados no site.<br>";
print "Lisando a página ".$pagina." de ".$total_paginas."!";
$sqln = mysql_query("SELECT * FROM agenda ORDER BY id DESC LIMIT ".$inicio.",".$max."");
$num = mysql_num_rows($sqln);
}
?>
</div>
<fieldset style="width:90%; margin:0 auto;">
<legend>Eventos Agendados</legend>
<?php
print '<table width="100%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="10%" align="center" bgcolor="#202020" class="fonte">.:: Nº ::.</td>
<td align="center" bgcolor="#202020" class="fonte">.:: Nome do Eventos ::.</td>
<td colspan="2" align="center" bgcolor="#202020" class="fonte" width="15%">.:: Ações ::.</td>
</tr>';
for($i = 0; $i < $num; $i++){
$evento = @mysql_result($sqln, $i, "evento");
$id = @mysql_result($sqln, $i, "id");
$n = $i + 1;
$d = $i % 2;
if($d == 0){$cor = "cinza";}else{$cor = "claro"; }
print '<tr class='.$cor.'>';
print '<td align="center">'.$n.'</td>';
print '<td>'.$evento.'</td>';
print '<td align="center"><a href="atualagenda.php?id='.$id.'">Altualizar</a></td>';
print '<td align="center"><a href="deletagenda.php?id='.$id.'">Excluir</a></td>';
print '</tr>';
}
print '</table>';
print '<div style="text-align:center; margin-top: 30px;">';
if($pagina != 1){
print '<a href="listagenda.php?'. $_SERVER['QUERY_STRING']. "&pagina=".($pagina - 1).'"><< anterior</a>';
}else{
print '<span style="color: #ccc;"><< anterior </span>';
}
if ($total_paginas > 1){
for ($i=1; $i <= $total_paginas; $i++){
if ($pagina == $i){
echo "<span class='al'> [".$pagina."] </span>";
}else{
echo "<a href=\"listagenda.php?" . $_SERVER['QUERY_STRING']."&pagina=".$i."\"> ".$i." </a> ";
}
}
}
if($pagina < $total_paginas){
print '<a href="listagenda.php?'. $_SERVER['QUERY_STRING']. "&pagina=".($pagina + 1).'">próxima >></a>';
}else{
print '<span style="color: #ccc;"> próxima >></span>';
}
print '</div>';
?>
</fieldset>
Agora temos que criar uma pagina para atualizar os eventos:
atualagenda.php
<?php
include "sql.php";
if(isset($_POST['done'])){
$id = $_POST['id'];
$evento = $_POST['evento'];
$dtevento = $_POST['dtevento'];
$autor = $_POST['autor'];
$hora = $_POST['hora'];
$local = $_POST['local'];
$conteudo = $_POST['desc'];
if(empty($evento) || empty($dtevento) || empty($conteudo) || empty($local)){
$erro = "Opa, você deve preencher todos os campos";
}else{
$sql = mysql_query("UPDATE agenda SET evento='$evento', dtevento='$dtevento', conteudo='$conteudo', hora='$hora', local='$local', autor='$autor' WHERE id='$id'")or die(mysql_error());
$linha = mysql_affected_rows();
if($linha == 1){
$erro = "Dados alterados com sucesso!";
} else{
$erro = "Não foi possivel alterar os dados";
}
}
}
$id = $_GET['id'];
$sql = mysql_query("SELECT * FROM agenda WHERE id = '$id'");
$evento = @mysql_result($sql, 0, "evento");
$dtevento = @mysql_result($sql, 0, "dtevento");
$hora = @mysql_result($sql, 0, "hora");
$autor = @mysql_result($sql, 0, "autor");
$local = @mysql_result($sql, 0, "local");
$desc = @mysql_result($sql, 0, "conteudo");
$id = @mysql_result($sql, 0, "id");
?>
<style type="text/css">
.campo{
width:400px;
}
</style>
<form name="form1" action="atualagenda.php" method="POST" style="padding-top:40px;">
<?php
if(isset($erro)){
print '<div style="width:80%; background:#ff6600; color:#fff; padding: 5px 0px 5px 0px; text-align:center; margin: 0 auto;">'.$erro.'</div>';
}
?>
<table border="0" width="80%" bgcolor="#f0f0f0" style="border:1px solid #ccc; margin:0 auto; position:relative;">
<thead>
<tr>
<th colspan="2">.:: Atualizar Agenda ::.</th>
</tr>
</thead>
<tbody>
<tr>
<td width="14%">Evento:</td>
<td width="86%"><input type="text" name="evento" value="<?php echo $evento; ?>" class="campo" /></td>
</tr>
<tr>
<td>Data:</td>
<td><input type="text" name="dtevento" value="<?php echo $dtevento; ?>" class="campo"/>
dd-mm-aaaa</td>
</tr>
<tr>
<td>Hora:</td>
<td>
<input type="text" name="hora" value="<?php echo $hora; ?>" class="campo"/>
hh:mm</td>
</tr>
<tr>
<td>Local:</td>
<td><input name="local" type="text" class="campo" id="local" value="<?php echo $local; ?>"></td>
</tr>
<tr>
<td>Autor:</td>
<td><input name="autor" type="text" class="campo" id="autor" value="<?php echo $autor; ?>"></td>
</tr>
<tr>
<td valign="top">Descrição:</td>
<td><textarea name="desc" rows="8" cols="20" class="campo"><?php echo $desc; ?></textarea></td>
</tr>
<tr>
<td></td>
<td><input type="submit" value="Atualizar Agenda" />
<input type="button" name="button" id="button" onclick="java script:location.href='listagenda.php';" value="Cancelar" />
<input type="hidden" name="done" value="" /><input name="id" type="hidden" value="<?php echo $id; ?>" /></td>
</tr>
</tbody>
</table>
</form>
Agora vamos criar a página para excluir o evento:
deletagenda.php
<?php
include "sql.php";
$id = $_GET['id'];
$sql = mysql_query("SELECT * FROM agenda WHERE id = '$id'");
$linha = mysql_num_rows($sql);
$sql = mysql_query("DELETE FROM agenda WHERE id = '$id'");
if($sql){
header("location:listagenda.php");
}else{
print "Não foi possivel deletar o redado. Tente mais tarde!";
}
?>
Pronto!!! http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif
Espero que a galera faça bom proveito deste calendário!!!
Veja a agenda funcionando: CLIQUE AQUI PARA VER A AGENDA EM AÇÃO
Todos os arquivos para DOWNLOAD
Qualquer dúvida: gaspar.teixeira@gmail.com
Abraço!!!
Bom dia amigo
Posta ai a estrutura do banco de dados porfavor.
Gaspar Teixeira, Excelente sistema, obrigado por compartilhar.
>
Bom dia amigo
Posta ai a estrutura do banco de dados porfavor.
Amigão tem na primeira parte ... você vê aqui neste link:
http://forum.imasters.com.br/index.php?showtopic=315222
ABC
esta dando arro nesse script o erro é
Warning: include(config.php) [function.include]: failed to open stream: No such file or directory in /home/minjovem/public_html/novocalendario/agenda/admin.php on line 3
Warning: include(config.php) [function.include]: failed to open stream: No such file or directory in /home/minjovem/public_html/novocalendario/agenda/admin.php on line 3
Warning: include() [function.include]: Failed opening 'config.php' for inclusion (include_path='.:/usr/lib/php:/usr/local/lib/php') in /home/minjovem/public_html/novocalendario/agenda/admin.php on line 3
me ajuda por gentileza
o erro éno arqiovo do adminitração
include('config.php');
me ajuda por gentileza
Gasparzinho mande este script completo do calendario para o meu e-mail por gentileza sinaldo.souza@gmail.com
Olá amigo,
Neste link você poderá acessar a agenda e ver como ela funciona. Agenda de Eventos http://forum.imasters.com.br/public/style_emoticons/default/clap.gif
Eu coloquei todos os arquivos Juntos agora. Além disso, vocês podem visualizar a agenda e editá-la na área administrativa.
Veja bem você deve configurar o arquivo sql.php e colocar os seus dados. Dados referente ao seu banco de dados.
Não esqueça de por todos os arquivos na mesma pasta.
Este erro significa que ele não encontrou o arquivo sql.php, que no script foi chamado pela função include.
Nessa página você já pode fazer download de todos os arquivos da agenda. Eu atualizei os arquivos no server. http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif
ABRAÇO!!
Gasparzinho
Gasparzinho,
muito bom esse sistema seu,axo que vou adaptar em um site que eu estou construindo,
agora to com uma duvida :
neoHaT postou esse ai que ele ta adptando http://www.pibemfigueira.com.br/agenda.php , eu não manjo muito em php,sera que pra fazer isso é dificil ??
to no basico ainda
abração
Não sei se foi algum erro meu, mas eu percebi, que se tiver dois eventos no mesmo o contador diz que tem apenas 1.
Alguém percebeu isso.
Cara... mt bom post! Parabens!!!! você fez um ótimo serviço...
muito bom mesmo. testei ele. e eh bem simples e funcional. soh incrementa-lo. obrigado por compartilhar
Kr é mto fera teu calendário (já até usei ele em um projeto)
A única coisa que percebi é quando eu cadastro dois eventos no mesmo dia ele não conta o evento
Mas show de bola kr flwz
Parabéns, Gasparzinho!
Adorei! Foi muito útil pra mim.
Fiz umas adaptações, se quiserem ver... CALENDÁRIO
Sucesso!
Rê
Caro amigo, meus parabéns pelo grande artigo e Muito obrigado pelas dicas.
Pessoal é muito facil customizar esse calendário. Se pra mim que sou iniciante consegui fazer algumas melhorias, pra galera que manja então nem se fala o que é possivel fazer com ele.
Procurei deixar em negrito o local onde realizei as modificações.
Segue o código modificado da página agenda.php
<?php
##########################################
#
Calendário de Eventos PHP 5 e MySQL #
Documento: Agenda de Eventos Dinâmica #
Autor: Gaspar Teixeira #
E-mail: gaspar.teixeira@gmail.com #
Data: 14/11/2008 #
Direito de Uso: Livre #
Declaração: O autor não se responsabiliza #
pelo utilização deste calendário! #
#
##############################################
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
include "sql.php";//conexão com o banco de dados
@mysql_select_db($db);//selecione o banco de dados
}else{if($month==1){//mês anterior se janeiro mudar valor
}else{
if($month==12){//proximo mês se dezembro tem que mudar
}else{
$hoje = date('j');//função importante pego o dia corrente
switch($month.$n){/notem duas variaveis para o switch para identificar dia e limitar numero de dias/
$pdianu = mktime(0,0,0,$month,1,$ano);//primeiros dias do mes
$dialet = date('D', $pdianu);//escolhe pelo dia da semana
switch($dialet){//verifica que dia cai
Abraços. http://forum.imasters.com.br/public/style_emoticons/default/clap.gif
WebCreckis