Ir para conteúdo

POWERED BY:

Arquivado

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

DarthEdu

Exibir se for aprovado

Recommended Posts

Gente, peguei esse código na net e adaptei ele, ao clicar em uma data ele exibe um evento cadastrado naquele dia, e no calendário as datas laranjas são por que tem algo marcado naquele dia, mas eu quero que só exiba essa data laranja se o satus no banco for igual "Aprovado" já tentei de tudo, alguém me ajuda? :(

<html>
<head>
<meta charset="utf-8">
<link href='style.css' type='text/css' rel="stylesheet">
<title>Agenda de Eventos </title>

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.1/jquery.min.js"></script> 
<script type="text/javascript">

$(document).ready(function() {  

    $('a[name=modal]').click(function(e) {
        e.preventDefault();
        
        var id = $(this).attr('href');
    
        var maskHeight = $(document).height();
        var maskWidth = $(window).width();
    
        $('#mask').css({'width':maskWidth,'height':maskHeight});

        $('#mask').fadeIn(1000);    
        $('#mask').fadeTo("slow",0.8);  
    
        //Get the window height and width
        var winH = $(window).height();
        var winW = $(window).width();
              
        $(id).css('top',  winH/2-$(id).height()/2);
        $(id).css('left', winW/2-$(id).width()/2);
    
        $(id).fadeIn(2000); 
    
    });
    
    $('.window .close').click(function (e) {
        e.preventDefault();
        
        $('#mask').hide();
        $('.window').hide();
    });     
    
    $('#mask').click(function () {
        $(this).hide();
        $('.window').hide();
    });         
    
});

</script>
</head>
<body>
<hr>

<a href="admin.php">Criar Evento</a> | <a href="listagenda.php">Listar Eventos</a>

<hr>

<?php

include "sql.php";//conexão com o banco de dados

@mysql_select_db($db);//selecione o banco de dados

if(empty($_GET['data'])){//navegaçao entre os meses

    $dia = date('d');

    $month =ltrim(date('m'),"0");

    $ano = date('Y');

}else{

    $data = explode('/',$_GET['data']);//nova data

    $dia = $data[0];

    $month = $data[1];

    $ano = $data[2];

}

if($month==1){//mês anterior se janeiro mudar valor

    $mes_ant = 12;

    $ano_ant = $ano - 1;

}else{

    $mes_ant = $month - 1;

    $ano_ant = $ano;

}
if($month==12){//proximo mês se dezembro tem que mudar

    $mes_prox = 1;

    $ano_prox = $ano + 1;

}else{

    $mes_prox = $month + 1;

    $ano_prox = $ano;

}


$n = "";
$qt = "";
$hoje = date('j');//função importante pego o dia corrente

switch($month.$n){/*identifica dia e limita numero de dias*/

    case 1: $mes = "JANEIRO";

            $n = 31;

    break;

    case 2: $mes = "FEVEREIRO";

            $bi = $ano % 4;//anos multiplos de 4 são bixestos

            if($bi == 0){

                $n = 29;

            }else{

                $n = 28;

            }

    break;

    case 3: $mes = "MARÇO";

            $n = 31;

    break;

    case 4: $mes = "ABRIL";

            $n = 30;

    break;

    case 5: $mes = "MAIO";

            $n = 31;

    break;

    case 6: $mes = "JUNHO";

            $n = 30;

    break;

    case 7: $mes = "JULHO";

            $n = 31;

    break;

    case 8: $mes = "AGOSTO";

            $n = 31;

    break;

    case 9: $mes = "SETEMBRO";

            $n = 30;

    break;

    case 10: $mes = "OUTUBRO";

            $n = 31;

    break;

    case 11: $mes = "NOVEMBRO";

            $n = 30;

    break;

    case 12: $mes = "DEZEMBRO";

            $n = 31;

    break;

}



$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

    case "Sun": $branco = 0; break;

    case "Mon": $branco = 1; break;

    case "Tue": $branco = 2; break;

    case "Wed": $branco = 3; break;

    case "Thu": $branco = 4; break;

    case "Fri": $branco = 5; break;

    case "Sat": $branco = 6; break;

}            



    print '<table class="tabela" >';//construção do calendario

    print '<tr>';

    print '<td class="mes"><a href="?data='.$dia.'/'.$mes_ant.'/'.$ano_ant.'" title="Mês anterior">  « </a></td>';/*mês anterior*/

    print '<td class="mes" colspan="5">'.$mes.'/'.$ano.'</td>';/*mes atual e ano*/

    print '<td class="mes"><a href="?data='.$dia.'/'.$mes_prox.'/'.$ano_prox.'" title="Próximo mês">  » </a></td>';/*Proximo mês*/

    print '</tr><tr>';

    print '<td class="sem">D</td>';//printar os dias da semana

    print '<td class="sem">S</td>';

    print '<td class="sem">T</td>';

    print '<td class="sem">Q</td>';

    print '<td class="sem">Q</td>';

    print '<td class="sem">S</td>';

    print '<td class="sem">S</td>';

    print '</tr><tr>';

    $dt = 1;

    if($branco > 0){

        for($x = 0; $x < $branco; $x++){

             print '<td> </td>';/*preenche os espaços em branco*/

            $dt++;

        }

    }

    

    for($i = 1; $i <= $n; $i++ ){/*verifica no banco de dados  os eventos*/

            $dtevento = $i."-".$month."-".$ano;
            $status = "";

        $sqlag = mysql_query("SELECT * FROM agenda WHERE dtevento = '$dtevento' and status = 'Aprovado'") or die(mysql_error());

                $num = mysql_num_rows($sqlag);/*quantos eventos tem para o mes*/

                $idev = @mysql_result($sqlag, 0, "dtevento");

                $eve = @mysql_result($sqlag, 0, "evento");              

                if($num > 0){/*prevalece qualquer dia especial do calendario, por isso está em primeiro*/

           print '<td class="evt">';

           print '<a href="?d='.$idev.'&data='.$dia.'/'.$month.'/'.$ano.'" title="'.$eve.'">'.$i.'</a>';

           print '</td>';

           $dt++;/*incrementa os dias da semana*/

                   $qt++;/*quantos eventos tem no mes*/

        }elseif($i == $hoje){/*imprime os dia corrente*/

            print '<td class="hj">';

            print $i;

            print '</td>';

            $dt++;

        

        }elseif($dt == 1){/*imprime os domingos*/

            print '<td class="dom">';

            print $i;

            print '</td>';

            $dt++;

        }else{/*imprime os dias normais*/

                    print '<td class="td">';

            print $i;

            print '</td>';

            $dt++;

                }

        if($dt > 7){/*faz a quebra no sabado*/

        print '</tr><tr>';

        $dt = 1;

        }

    }

    print '</tr>';

    print '</table>';

        if($qt > 0){/*se tiver evento no mês imprime quantos tem */

          print "Temos ".$qt." evento(s) em ".strtolower($mes)."<br>";/*mudar para caixa baixa as letras do mes*/

        }

if(isset($_GET['d'])){/*link dos dias de eventos*/

    $idev = $_GET['d'];

    $sqlev = mysql_query("SELECT * FROM agenda WHERE dtevento = '$idev' ORDER BY hora ASC") or die(mysql_error());

    $numev = mysql_num_rows($sqlev);

    for($j = 0; $j < $numev; $j++){/*caso no mesmo dia tenha mais eventos continua imprimindo */

    $eve = @mysql_result($sqlev, $j, "evento");/*pegando os valores do banco referente ao evento*/

    $dev = @mysql_result($sqlev, $j, "dtevento");

    $dsev = @mysql_result($sqlev, $j, "conteudo");

    $auev = @mysql_result($sqlev, $j, "autor");

    $lev = @mysql_result($sqlev, $j, "local");

    $psev = @mysql_result($sqlev, $j, "data");

    $nowev = date('d/m/Y - H:i', strtotime($psev));/*transforma a data para data padrão brazil*/

    $hev = @mysql_result($sqlev, $j, "hora");

    $status = @mysql_result($sq, $j, "status");

print '<table width="300" cellspacing="0" cellpadding="0">';/*monta a tabela de eventos*/

print '<tr><td class="show">'.$dev.' - '.$eve.'</td></tr>';

print '<tr><td class="linha"><b>Hora: </b>'.$hev.'hs</td></tr>';

print '<tr><td class="linha"><b>Local: </b>'.$lev.'</td></tr>';

print '<tr><td class="linha"><b>Descrição: </b>'.nl2br($dsev).'</td></tr>';/*mantem o quebra da linha para dascriçao do evento*/

print '<tr><td class="linha"><b>Postado: </b><small>'.$nowev.'hs por '.$auev.'</small></td></tr>';

print '</table>';

    }

}



?>


</body>

</html>



Compartilhar este post


Link para o post
Compartilhar em outros sites

se eu entendi bem, tente adicionar a restrição:

 

and status='aprovado'

 

também nessa linha:

 

$sqlev = mysql_query("SELECT * FROM agenda WHERE dtevento = '$idev' ORDER BY hora ASC") or die(mysql_error());

 

ficaria assim:

$sqlev = mysql_query("SELECT * FROM agenda
WHERE dtevento = '$idev' AND status='aprovado'
ORDER BY hora ASC") or die(mysql_error());

Compartilhar este post


Link para o post
Compartilhar em outros sites

a do sistema está utf-8 a do banco não sei ver

 

Aqui eu só consegui resolver esse problema com essa codificação:

 

charset=iso-8859-1

 

No Mysql lá essa codificação acho que está Latin Europeu ou algo assim.

 

Só que para usar o modo view do editor do dreamheaver essa técnica é terrível :)

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.