Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) Não Consigo Gerar Um Calendario De Eventos... Como Po


Guest Erickson

Pergunta

olá galera!

estou tentando fazer tipo um calendario de eventos...

mais a briga tah grande

:P

agora só consegui chegar ateh aqui...

---

<?php
include "Config/config_sistema.php";
$ano = ($_GET['ano']) ? $_GET['ano'] : date('Y');
$mes = ($_GET['mes']) ? $_GET['mes'] : date('m');
$q = "select * from eventos where ano = " . $ano . " and mes = " . $mes;
$r = mysql_query($q);
?>

//aqui a opçao pra pegar os anos
<select name="ano" class="form" id="ano" onchange="window.location = 'calendariodeeventos.php?ano=' + this.options[this.selectedIndex].text;">
<option <?php if ($_GET['ano'] == 2007) echo 'selected'?>>2007</option>
<option <?php if($_GET['ano'] == 2008) echo 'selected'?>>2008</option>
</select>

//aqui queria fazer pra tipo pegar o mes por link... i ainda num deu certo =S
<?php
echo "
<a href='calendariodeeventos.php?ano=$_GET['ano']&mes=1'>Janeiro</a> | 
<a href='calendariodeeventos.php?ano=$_GET['ano']&mes=2'>Fevereiro</a> | 
<a href='ocalendariodeeventos.php?ano=$_GET['ano']&mes=3'>Mar&ccedil;o</a> 
...";
?>

//aqui só pra saber se o select ano tava funcionado. e tava :P
Eventos programados para o ano de <?php 
echo "$ano";
?>

//aqui q tah a briga
<?php
while($linha = mysql_fetch_array($r)) {
echo" <tr> <td>" .$linha->periodo."</td>
<td>".$linha->nome."</td>
<td>"$linha->local."</td>
<td>".$linha->organizacao."</td>
<td>".$linha->informacoes."</td>
</tr>";
}
?>

iaew galera...

alguém sabe me dizer como posso fazer pra q esse codigo possa funcionar

tah com mais d 15 dias q brigo com ele

:P

vlwW

Link para o comentário
Compartilhar em outros sites

6 respostass a esta questão

Posts Recomendados

  • 0

bem mudei algumas, não muitas, coisas como esta citada acima

já consegui alguma coisa mais não muito...

e ficou assim:

<?php //pra incluir as configuraçoes
include "Config/config_sistema.php";
?> 

<select name="ano" class="form" id="ano" onchange="window.location = 'calendariodeeventos.php?ano=' + this.options[this.selectedIndex].text;">
<option <?php if ($_GET['ano'] == 2007) echo 'selected'?>>2007</option>
<option <?php if($_GET['ano'] == 2008) echo 'selected'?>>2008</option>
</select> <--! continua o mesmo -->

<?php 
$ano = ($_GET['ano']) ? $_GET['ano'] : date('Y');
$mes = ($_GET['mes']) ? $_GET['mes'] : date('m');
$q = "select * from eventos where ano = " . $ano . " or mes = " . $mes;
$r = mysql_query($q) OR DIE (mysql_error());   //isso q mudou
?>

//os links fiz assim e melhorou
<?php
echo " <table width='98%' border='0' align='center' cellpadding='0' cellspacing='2'>
<tr>
<td height='17' align='center' class='text-tit-cinza'>
<a href='calendariodeeventos.php?ano=".$_GET['ano']."&mes=1' class='style22'>Janeiro</a> | 
<a href='calendariodeeventos.php?ano=".$_GET['ano']."&mes=2' class='style22'>Fevereiro</a> |
<a href='calendariodeeventos.php?ano=".$_GET['ano']."&mes=3' class='style22'>Março</a> | 
<a href='calendariodeeventos.php?ano=".$_GET['ano']."&mes=4' class='style22'>Abril</a>
</tr>
</table>";
?>

//só pra conferir se tava certo
<?php 
echo "$ano";
?>

//a tabela onde vem os dados
 <?php
while($linha = mysql_fetch_object($r)) {
echo" <tr>
<td valign='top' bgcolor='#8EC4B9' class='text-tit-cinza'><div align='center'>"
.$linha->periodo.  " </div></td>
<td align='left' valign='top' bgcolor='#8EC4B9' class='Texto-Pequeno'> <div align='center'>"
.$linha->nome.  "</div></td><td align='left' valign='top' bgcolor='#8EC4B9' class='Texto-Pequeno'><div align='center'>"
.$linha->local.  "</div></td><td valign='top' bgcolor='#8EC4B9' class='Texto-Pequeno'><div align='center'>" .$linha->organizacao.  "</div></td><td valign='top' bgcolor='#8EC4B9' class='Texto-Pequeno'><div align='center'>" .$linha->informacoes.  "</div></td>
</tr>";}
?>

os erros são os seguintes

-logo ao entran dentro do select aparece o seguinte

Undefined index: ano in C:\Arquivos de programas\EasyPHP 2.0b1\...

logo abaixo na linha onde declaro as variaveis também aparece a mesma coisa só q no mes aparece

Undefined index: ano in..

--crei q isso é porque asvariaveis ainda não foram selecionadas

onde confiro o ano o seguinte

Notice: Undefined index: ano in C:\Arquivos de progra...

mas agora a tabela aparece...

anteriormente não aparecia

só q quando escolho a opçao de um ano aparece o seguinte:

-- Notice: Undefined index: mes in C:\Arquivos de programas\EasyPHP 2.0b1\www\leite_e_negocios\calendariodeeventos.php on line 466

Voc꠴em um erro de sintaxe no seu SQL pro a ': Undefined index: ano in C:\Arquivos de programas\EasyPHP 2.0b1\www\leite_e_neg' na linha 1 --

ai se escolho novamente, aparece na tabela tudo bunitinho relacionado ao ano

só q pedindo a variavel mes

Notice: Undefined index: mes in C:\Arquivos de programas\Ea...

como faria para q ao carregar a pag pela primeira vez já começar com um ano selecionado?

Link para o comentário
Compartilhar em outros sites

  • 0

Isso não é um erro, e sim um aviso de que as variáveis não está setadas... troque isso:

$ano = ($_GET['ano']) ? $_GET['ano'] : date('Y');

$mes = ($_GET['mes']) ? $_GET['mes'] : date('m');

Por

$ano = (isset($_GET['ano'])) ? $_GET['ano'] : date('Y');

$mes = (isset($_GET['mes'])) ? $_GET['mes'] : date('m');

Assim ele vai testar e vai inibir o aviso... sempre teste se algo está setado antes de pegar, senão pode gerar um notice...

Link para o comentário
Compartilhar em outros sites

  • 0

ok

fiz o teste e ralmente deu certo

a tabela aparece selecionado todos os registros...

mais quando clico para selecionar o outro ano

ela dá uma mensagem de erro sql

--- Voc꠴em um erro de sintaxe no seu SQL pr󸩭o a ': Undefined index: ano in C:\Arquivos de programas\EasyPHP 2.0b1\www\leite_e_neg' na linha 1 ---

ai clico novamente para escolher denovo e aparece normal...

o erro poderia influenciar quando fosse para a web???

e tem outro detalhe :P

ele mostra todos os registros do ano e depois dos registros do ano

lá no final da tabela... é q vai ser mostrados os relacionados ao mes

e sempre quando seleciono o mes fica o d todo o ano em cima

e o mes selecionado vai lá pro fim da tabela...

o q poderia ser isso???

alguma coisa com o while?

Oo

vlwW

Link para o comentário
Compartilhar em outros sites

  • 0

Ali na parte dos links...

Troque $_GET['ano'] apenas por $ano...

ex.:

<a href=calendariodeeventos.php?ano=".$_GET['ano]."&mes=1' class='style22'>Janeiro</a> |

Por:

<a href='calendariodeeventos.php?ano=".$ano."&mes=1' class='style22'>Janeiro</a> |

E isso:

$q = "select * from eventos where ano = " . $ano . " or mes = " . $mes;

Por isso:

$q = "select * from eventos where ano = '" . $ano . "' AND mes = '" . $mes."'";

E mais um detalhe:

<option <?php if ($_GET['ano'] == 2007) echo 'selected'?>>2007</option>

Não tem que especificar o value?

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652k
×
×
  • Criar Novo...