Ir para conteúdo

Arquivado

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

Joannes Waquim

varrer os nomes das pastas que estão em datas e comparar sempre com ano corrente e verificar sem ser por posicao

Recommended Posts

Boa tarde! Tenho uma estrutura de pasta que é criada automaticamente pelo sistema após o envio de arquivos pdf então sistema cira a estrura por ano tipo 20181 ano de dois mil e dezoito primeiro semestre, entao quero quero comparar se existe uma variavel com esse nome de 2018 com a data atual, tipo terá varias pastas de varios anos mas quero comparar a por nome e não por posicão com a data data, ja criei uma array busquei por posicao, mas quando tento fazer somente por nome diz que tenho que transformar o array em string, e quando eu colo tipo $files[0] resolve, mas queria por nome em sim, como posso fazer?

 

fiz assim 

 

if(date('m')<=6)
                {

                    if (!file_exists("admin/hist/")){


                    }else {
                        /** @var DirectoryIterator $directories */
                        $directories = new DirectoryIterator("admin/hist");

                        foreach ($directories as $file) {
                            // verifica se $file é diferente de '.' ou '..'
                            if (!$file->isDot()) {
                                // listando somente os diretórios
                                if ($file->isDir()) {
                                    $files[] = substr($file->getFilename(), 0, -1);

                                }

                            }
                        }

                        $semestre1 = "1º Semestre ".  $files[0];
                        $semest_Ano_Anterior = "2º Semestre ".  $files[1];
                        echo $semestre1;
                        echo '<li><a href="admin/baixHistoric.php?semestre=semest_Ano_Anterior">' . $semest_Ano_Anterior . '</a></li>';

                        // $semestreAtual = " 1º Semestre ".  $anoSem = date('Y');
                        // echo $semestreAtual;
                    } }elseif(date('m')>=7)
                {
                    $semestre2 = "2º Semestre ". $files[1];
                    $semestre1 = "1º Semestre ".  $files[0];

                    echo '<li><a href="admin/baixHistoric.php?semestre=semestre2-AnoAtual"> '.$semestre2.'
                   </a></li><li><a href="admin/baixHistoric.php?semestre=semestre1-AnoAtual"> '.$semestre1.'</a></li>';
                }

 

e funciona mas tenho tentado de outro jeito por exemplo

 

 if (!file_exists("admin/hist/")){


                }elseif(file_exists("admin/hist/")) {
                    /** @var DirectoryIterator $directories */
                    $directories = new DirectoryIterator("admin/hist");

                    foreach ($directories as $file) {
                        // verifica se $file é diferente de '.' ou '..'
                        if (!$file->isDot()) {
                            // listando somente os diretórios
                            if ($file->isDir()) {
                                $files[] = substr($file->getFilename(), 0, -1);

                            }

                        }

                    }

                    if (file_exists("admin/hist/"))
                    {


                        if (date('m')<=6)
                        {
                             isset($files) == date('Y') ? $dataSem = $files : '' ;
                            $semestre1 = "1º Semestre " . $dataSem;

                            $dif_Ano = new DateTime('-1 Year');
                            if($dif_Ano == $files)
                            {

                                $fiferencaAno = $dif_Ano;
                                $semest_Ano_Anterior = "2º Semestre " . $dif_Ano;

                            }

                            echo $semestre1;
                            echo '<li><a href="admin/baixHistoric.php?semestre=semest_Ano_Anterior">' . $semest_Ano_Anterior . '</a></li>';


                        }elseif(date('m')>=7)
                        {
                            $semestre1 = "1º Semestre " . $dataSem."1";
 $semestre2 = "2º Semestre " . $dataSem."2";
                            echo '<li><a href="admin/baixHistoric.php?semestre=semestre2-AnoAtual"> '.$semestre2.'
                                    </a></li><li><a href="admin/baixHistoric.php?semestre=semestre1-AnoAtual"> '.$semestre1.'</a></li>';
}
                    }

 

 

nao vai ped para conter array em string

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 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, plural, ativo. Nela tem cadastrado vários itens e seu respectivo plural. No campo ativo eu coloco a letra "S" para informar que esta palavra está ativa no sistema. Por exemplo: 1, casa, casas, S 2, mesa, mesas, S 3, cama, camas, S 4, moto, motos, S 5, rádio, rádios O quinto registro "radio" não está ativo no sistema pois não tem um "S" no campo ativo. E outra tabela chamada "variações" com os seguintes campos (id, item1, item2, item3) com os seguintes registros: 1, casa, camas, moto 2, mesas, casas, radio 3, rádio, cama, mesa Eu preciso fazer uma busca na tabela variações da seguinte maneira: Eu escolho um registro na tabela "itens", por exemplo "casa". Preciso fazer com que o php me liste todos os registros da tabela "variações" que contenham a palavra "casa". Porém se tiver algum registro com a palavra "casas" também tem que ser listado. Neste caso ele irá encontrar dois registros. Agora eu preciso que o php verifique os demais itens e faça a listagem apenas dos item que estão ativos (que contenham um "S" no campo ativo. Neste caso ele irá encontrar apenas um registro, pois o segundo registro contém a palavra "rádio". E "rádio" não está ativo na tabela itens. Como faço isso?
×

Informação importante

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