Ir para conteúdo

Arquivado

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

paulaodaregulage

CRIAR UM CALENDÁRIO DE ATIVIDADES (IGUAL AO CALENDÁRIO ESCOLAR)

Recommended Posts

BOM DIA SRS,

GOSTARIA DE CRIAR UM CALENDÁRIO DE ATIVIDADES

IGUAL A UM CALENDÁRIO ESCOLAR

 

 

 

banco de dados :acoes

tabela=livro

variaveis na tabela livro: id_livro, data_inicio ,data_final,data_inicio_2,data_final_2,atividade

 

obs:data_inicio e data_final estao  assim   d/m/Y (ex:08/02/2018)

data_inicio_2 e data_final_2 estao  assim   Ymd     (ex:20180208 )

 

ela completa ficaria assim

se houvesse aula de portugues do dia 05-02-2018 à 09-02-2018

ficaria assim na tebela

id_livro###data_inicio ###data_final######data_inicio_2###data_final_2###atividade

1####### 05-02-2018###09-02-2018#####20180205#####20180209####portugues

 

 

 

objetivo é criar um calendário que exponha qual atividade há para cada dia do ano.

dai eu criei o seguinte script php:

<tr><!-- ANO-->

<td colspan='365'>2018</td>   

</tr>

<tr><!-- meses do ano-->

<td colspan='31'>janeiro</td>        <td colspan='28'>Fevereiro</td> .....

</tr>



<tr> <!-- dias do mes-->

<td >1</td> <td >2</td> <td >3</td> ......

</tr>





<!-- aqui que deu um trabalhão   

########qria uma função automatica que expusesse tds esses dias

de forma pratica pra eu encaixar essas funções abaixo atraves da

data de inicio e data final das atividades

e mostrasse a atividade que haveria para aquela data

tipo aqueles calendários escolares#########

-->

<tr>

 <TD    ><!--dia 01/01/2018-->


<?php $sql = "SELECT * FROM livro WHERE     data_inicio_2 <= '20180101' and '20180101' <=data_final_2 ";
 $res = mysql_query($sql);  
while($linha = mysql_fetch_array($res)){    echo  $linha['atividades'] ;   } ?>
  </TD>


 <TD  > <!--dia 02/01/2018-->



<?php $sql = "SELECT * FROM livro WHERE     data_inicio_2 <= '20180102' and '20180102' <=data_final_2 ";
 $res = mysql_query($sql);  
while($linha = mysql_fetch_array($res)){    echo  $linha['atividades'] ;   } ?>
    

</TD>



<!--...e por ai vai..ate dia 31/12      20181231....rs-->



</tr>

 

 

 

 

PODEM DAR UM APOIO...

OBRIGADO PESSOAL...

 

 

CALENDARIO.png

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fiz esse código, tente adaptar para o que você precisa, a parte de inserir as atividades eu não sei como fazer mais deixei mais ou menos como eu faria (não testei).

obs: faltou inserir a conexão.

 

Spoiler

<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title></title>
    <style>
      table, td, th {
          border: 1px solid black;
          border-collapse: collapse;
      }
      td{
        width: 10px;
        text-align: center;
      }
    </style>
</head>
<body>
<?php

function nome_mes($num){
  $mes = '';
  switch ($num) {
    case 0:
      continue;
    case 1:
      $mes = "JANEIRO";
      break;
    case 2:
      $mes = "FEVEREIRO";
      break;
    case 3:
      $mes = "MARÇO";
      break;
    case 4:
      $mes = "ABRIL";
      break;
    case 5:
      $mes = "MAIO";
      break;
    case 6:
      $mes = "JUNHO";
    break;
    case 7:
      $mes = "JULHO";
      break;
    case 8:
      $mes = "AGOSTO";
      break;
    case 9:
      $mes = "SETEMBRO";
      break;
    case 10:
      $mes = "OUTUBRO";
      break;
    case 11:
      $mes = "NOVEMBRO";
      break;
    case 12:
      $mes = "DEZEMBRO";
      break;
}
return $mes;
}

//salva em um array qtos dias tem no determinado mês
$array_num_dias = Array(); 
for($i = 1; $i <= 12; $i++ ){
  $array_num_dias[$i] = cal_days_in_month(CAL_GREGORIAN, $i, 2018);
}

//cria TD colspan dos meses
echo '<table>';
echo '<tr>';
for($i = 1; $i <= 12; $i++ ){
  echo '<td colspan="' . $array_num_dias[$i] . '">'.nome_mes($i).'</td>';
}
echo '</tr>';

//cria TD dos dias
echo '<tr>';
for($i = 1; $i <= 12; $i++ ){
  for($j = 1; $j <= $array_num_dias[$i];$j++){
    echo '<td>' . $j . '</td>';
  }
  
}
echo '</tr>';

// INÍCIO TESTE - ATIVIDADES
//algoritmo para inserir atividades
$array_atividade = Array(); 
$array_data_inicial = Array();
$array_data_final = Array();
$contador = 0;
//salva atividade, datainicial e datafinal em um array
$sql = mysqli_query($conn,"SELECT * FROM table_name ORDER BY data_inicial ASC");
    while ($row = mysqli_fetch_assoc($sql)) {
        $arrayatividade[$contador] = $row['atividade'];
        $array_data_inicial[$contador] = $row['data_inicial'];
        $array_data_final[$contador] = $row['data_final'];
        $contador = $contador + 1;
    }

//cria TD dos dias
echo '<tr>';
$date = strtotime("2018-01-01");
$contador = 0;
$intervalor = 0;
//$date = strtotime("2014-01-01"); $date < strtotime("2014-02-01"); $date = strtotime("+1 day", $date)
for($i = 1; $i <= 365; $i++){
  if($date != $array_data_inicial[$contador]){//enquanto a $date for diferente da data_inicial (que contém a atividade)
    echo '<td> </td>';
  }
  else{
    $intervalo = $array_data_final[$contador] - $array_data_inicial[$contador]; //determina o intervalo, não sei se precisa utilizar o diff
    for($k = 0; $k < $intervalo; $k++){ //$intervalo entre data_inicial e data_final
      echo '<td>' . $arrayatividade[$contador] . '</td>';
    }
    $contador = $contador + 1;
  }
  $date = strtotime("+1 day", $date) //soma mais 1 dia até o último dia
}
// FIM TESTE - ATIVIDADES


echo '</tr>';

echo '</table>';

  

?>
</body>
</html>

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por landerbadi
      Boa tarde pessoal. Estou tentado fazer uma consulta no banco de dados porém estou tendo dificuldades. Tenho uma tabela chamada "itens" com os seguintes campos: id, item, ativo. Nela tem cadastrado vários itens. No campo ativo eu coloco a letra "S" para informar que este item está ativo no sistema. Por exemplo: 1, casa, S 2, mesa, S 3, cama, S 4, moto S 5, rádio O quinto registro "radio" não está ativo no sistema pois não tem um "S" no campo ativo. E outra tabela chamada "produtos" com os seguintes campos (id, item1, item2, item3) com os seguintes registros: 1, casa, mesa, moto 2, mesa, casa, cama 3, rádio, cama, mesa Eu preciso fazer uma busca na tabela produtos da seguinte maneira: Eu escolho um registro na tabela "itens", por exemplo "mesa". Preciso fazer com que o php me liste todos os registros da tabela "produtos" que contenham a palavra "mesa". Até aqui tudo bem eu consigo listar. Estou fazendo assim: <?php $item = "mesa" $sql = mysqli_query($conn, "SELECT * FROM produtos WHERE item1 LIKE '$item' OR item2 LIKE '$item' OR item3 LIKE '$item' LIMIT 10"); while($aux = mysqli_fetch_assoc($sql)) { $id = $aux["id"]; $item1 = $aux["item1"]; $item2 = $aux["item2"]; $item3 = $aux["item3"]; echo $id . " - " . $item1 . ", " . $item2 . ", " $item3 . "<br>"; } ?> O problema é que está listando todos os registros que contém o item mesa. Eu preciso que o php verifique os demais item e me liste somente os registro em que todos os registros estejam ativos no sistema. No exemplo acima ele não deveria listar o registro 3. pois nesse registro contém o item "radio" e este item não está ativo no sistema. Ou seja, o registro "radio" na tabela itens não possui um "S" na coluna "ativo". Alguém sabe como resolver isso?
    • Por ILR master
      Fala galera.
      Espero que todos estejam bem.
      Seguinte: Tenho um arquivo xml onde alguns campos estão com : (dois pontos), como o exemplo abaixo:
       
      <item>
      <title>
      d sa dsad sad sadasdas
      </title>
      <link>
      dsadas dsa sad asd as dsada
      </link>
      <pubDate>sadasdasdsa as</pubDate>
      <dc:creator>
      d sad sad sa ad as das
      </dc:creator>
      </item>
       
      Meu código:
       
      $link = "noticias.xml"; 
      $xml = simplexml_load_file($link); 
      foreach($xml -> channel as $ite) {     
           $titulo = $ite -> item->title;
           $urltitulo = $ite -> item->link;
           print $urltitulo = $ite -> item->dc:creator;
      } //fim do foreach
      ?>
       
      Esse campo dc:creator eu não consigo ler. Como faço?
       
      Agradeço quem puder me ajudar.
       
      Abs
       
       
    • Por First
      Olá a todos!
       
      Eu estou criando um sistema do zero mas estou encontnrando algumas dificuldades e não estou sabendo resolver, então vim recorrer ajuda de vocês.
      Aqui está todo o meu código: https://github.com/PauloJagata/aprendizado/
       
      Eu fiz um sistema de rotas mas só mostra o conteúdo da '/' não sei porque, quando eu tento acessar o register nada muda.
      E eu também quero que se não estiver liberado na rota mostra o erro de 404, mas quando eu tento acessar um link inválido, nada acontece.
      Alguém pode me ajudar com isso? E se tiver algumas sugestão para melhoria do código também estou aceitando.
       
       
      Desde já, obrigado.
    • Por landerbadi
      Olá pessoal, boa tarde
       
      Tenho uma tabela chamada "produtos" com os seguintes campos (id, produto) e outra tabela chamada "itens" com os seguintes campos (id, prod_01, prod_02, prod_03, prod_04).
       
      Na tabela produtos eu tenho cadastrado os seguintes produtos: laranja, maçã, uva, goiaba, arroz, feijão, macarrão, etc.
       
      Na tabela itens eu tenho cadastrado os itens da seguinte maneira:
       
      1, laranja, uva, arroz, feijão;
      2, maçã, macarrão, goiaba, uva;
      3, arroz, feijão, maçã, azeite
       
      Meu problema é o seguinte: 
      Eu escolho um produto da tabela "produtos", por exemplo "uva".  Preciso fazer uma consulta na tabela "itens" para ser listado todos os registros que contenham o produto "uva" e que todos os demais produtos estejam cadastrados na tabela "produtos".
       
      No exemplo acima seria listado apenas dois registros, pois o terceiro registro não contém o produto "uva". 
       
      Alguém pode me ajudar? Pois estou quebrando a cabeça a vários dias e não consigo achar uma solução.
    • Por ILR master
      Pessoal, pergunta bem simples. Abaixo tenho o seguinte código:
       
      <script>
      function alerta()
      {
        if (window.confirm("Você realmente quer sair?")) {
          window.open("sair.html");
      }
      }
      </script>
       
      Funciona perfeitamente, só que está abrindo em outra janela e quero que abra na mesma janela.
       
      Alguém pode me ajudar?
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.