Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá a todos
Estou fazendo um calendário de eventos, estou com dificuldades em fazer um link no dia do evento e que remeta o visitante à descrição do evento.
O problema é que todos os dias ficam com link e exibe somente o último evento do mês. E eu preciso que cada dia com evento exiba o seu próprio evento.
for ($i=0;$i<$linha;$i++){ global $month,$year,$d; $evento_id=mysql_result($result,$i,'evento_id'); $dia_sql =mysql_result($result,$i,'ev_dia'); $mes_sql =mysql_result($result,$i,'ev_mes'); $ano_sql =mysql_result($result,$i,'ev_ano'); $cat_ev =mysql_result($result,$i,'cat_ev_id'); $ano = ltrim(rtrim($ano_sql)); $mes = ltrim(rtrim($mes_sql)); $dia = ltrim(rtrim($dia_sql)); if($d==$dia&$year==$ano&$month==$mes) { if ($cat_ev==0000000001) $bg="bgcolor=\"#CC9900\""; //laranja elseif ($cat_ev==0000000002) $bg="bgcolor=\"#0066FF\""; //azul elseif ($cat_ev==0000000003) $bg="bgcolor=\"#FF3300\""; //vermelho elseif ($cat_ev==0000000004) $bg="bgcolor=\"#00CC33\""; //verde elseif ($cat_ev==0000000005) $bg="bgcolor=\"#CC0000\""; //vermelho escuro elseif ($cat_ev==0000000006) $bg="bgcolor=\"#FFCC00\""; //amarelo ouro elseif ($cat_ev==0000000007) $bg="bgcolor=\"#336600\""; //verde escuro elseif ($cat_ev==0000000008) $bg="bgcolor=\"#0000CC\""; //azul escuro elseif ($cat_ev==0000000009) $bg="bgcolor=\"#663300\""; //marron else $bg="bgcolor=\"#0099CC\""; //azul claro*/ /* else $bg="bgcolor=\"#E0E0E0\"";*/ } // if($d==$dia&$year==$ano&$month==$mes&$cat_ev!="") { }//for ($i=0;$i<$linha;$i++){ ?> <td width="250" align="center" <?php echo $bg; ?> <?php if (($bg<>"bgcolor=\"#0099CC\"") OR ( $bg<>"bgcolor=\"#E0E0E0\"") ) { echo "onclick=\"window.location='ev_leitura.php?cod=$evento_id'\" style=\"cursor: pointer;\""; <?php } //if (($bg<>"bgcolor=\"#0099CC\"") OR ( $bg<>"bgcolor=\"#E0E0E0\"") ) ?>> <?php echo $d;?></td>
Desde já agradeço.
Da forma que você sugeriu ele repetiria os dias de acordo com o número de eventos no mês.
estou fazendo mais algumas tentativas.
De qualquer forma obrigada.
=== Editando
Modifiquei um pouco:
if (($bg<>"bgcolor=\"#0099CC\"") OR ( $bg<>"bgcolor=\"#E0E0E0\"") ) { $link= "onclick=\"window.location='ev_leitura.php?cod=$evento_id'\" style=\"cursor: pointer;\""; } //if (($bg<>"bgcolor=\"#0099CC\"") OR ( $bg<>"bgcolor=\"#E0E0E0\"") )#... <td width="250" align="center" <?php echo $bg; echo $link;?>>Coloquei este if dentro do for agora ele pega o id corretamente SÓ que ainda cria links para os dias após o primeiro evento, por exemplo: meu primeiro evento no mês de maio foi dia 12, até dia 11 não criou links, mas a partir dele criou até o final do mês [http://forum.imasters.com.br/public/style_emoticons/](http://forum.imasters.com.br/public/style_emoticons/)default/cry.gif
Vou continuar tentando, se alguém tiver alguma idéia, por favor :)
----- Editando parte 2
Coloquei um else, mas não mudou nada :(
pelo que você diz que o evento só tá pegando o ultimo, e de acordo com o teu código acima, essa linha:
echo "onclick=\"window.location='ev_leitura.php?cod=$evento_id'\" style=\"cursor: pointer;\"";
tá fora do for, então, a variável $evento_id está sempre com o mesmo valor...
deve ser por isso que remete sempre ao mesmo evento.
flws!