Ir ao conteúdo
  • Cadastre-se

PHP Aniversariantes do dia em PHP


Posts recomendados

Preciso mostrar na página inicial os aniversariantes do dia, mas ele apresenta um erro de index.

 

<?php include 'Vendor/View/Shared/Head.php' ?>
<body>
<?php include 'Vendor/View/Shared/Header.php' ?>

<div class="container-fluid">
	<div class="col-md-8">

		<!-- ANIVERSARIANTE DO DIA -->
		<?php if(!isset($viewBag["aniversariantes"])) :?>
			<div class="div-padrão">
				<div class="div-popup-aniversariantes">
				<h4>Parabéns</h4>
				<?php foreach ($viewBag["aniversariantes"] as $aniversariantes): ?>
					<label>
						<?php echo $aniversariantes->getDia(); ?>/<?php echo $aniversariantes->getMes(); ?>
			    		<?php echo mb_convert_case($aniversariantes->getNome(), MB_CASE_TITLE, 'UTF-8'); ?>
					</label></br>
				<?php endforeach ?>
				</div>
			</div>
		<?php endif ?>

		<!-- POSTAGEM -->
		<?php foreach ($viewBag["post"] as $post) : ?>
			<div class="div-padrão">
					<div class="div-padrão-title">
				        <h4><?php echo $post->getTitulo(); ?></h4>
				    </div>
				<div class="div-padrão-subtitle post-subtitle">
					<h6>Data da Publicação: <?php echo $post->getData(); ?></h6>
				</div>
				<div class="div-padrão-texto">
					<?php echo $post->getTexto(); ?>
				</div>
			</div>
		<?php endforeach ?>


		<!-- NAVEGAÇÃO -->
		<nav aria-label="...">
		  <ul class="pager">
			<?php if (isset($_GET['pagina'])): ?>
				<?php if ($_GET['pagina'] !== '1'): ?>
					<?php $pagina = (isset($_GET['pagina'])) ? $_GET['pagina'] - 1 : 1?>
					<li class="next">
						<a href="index.php?c=Index&m=index&pagina=<?php echo $pagina; ?>">Mais novas
							<span aria-hidden="true">&rarr;</span></a>
					</li>
				<?php endif ?>
			<?php endif ?>
			<?php $pagina = (isset($_GET['pagina'])) ? $_GET['pagina'] + 1 : 2 ?>
			<li class="previous">
				<a href="index.php?c=Index&m=index&pagina=<?php echo $pagina; ?>">
					<span aria-hidden="true">&larr;</span> Mais antigas</a>
			</li>
		  </ul>
		</nav>

	</div>

	<!-- DIVS LATERAIS -->
	<div class="col-md-4">

		<?php include 'Vendor/View/HelpDesk/home.php' ?>

		<?php // include 'Vendor/View/Cardapio/home.php' ?>

		<?php include 'Vendor/View/Aniversariantes/home.php' ?>

		<?php // include 'Vendor/View/Wifi/home.php' ?>

		<?php include 'Vendor/View/Sugestao/home.php' ?>
	</div>

</div>

<script type="text/javascript">
	$('img').addClass('img-responsive');
</script>

</body>
</html>

 

 

 

 

Screenshot_2.png

Link para o comentário
Compartilhar em outros sites

Seria esse script? --> AniversariantesController.php

 

<?php

namespace Vendor\Controller;



use Vendor\Lib\View;

use Vendor\Lib\Redirect;

use Vendor\Factory\ConnectionFactory;

use Vendor\DAO\AniversariantesDAO;

use Vendor\Model\Aniversariantes;

use Vendor\Model\Model;



class AniversariantesController extends Model{



    private $con;

    private $aniversariantesDao;



    public function __construct()

    {



        parent::__construct();



        $this->con = ConnectionFactory::getConnection();

        $this->aniversariantesDao = new AniversariantesDAO($this->con);

    }



    public function index(){

        $aniversariantes = $this->aniversariantesDao->lista();



        $montaLista = new Aniversariantes();

        $listaAniversariantes = $montaLista->montaListaAniversariantes($aniversariantes);



        $view = new View('index','Aniversariantes');

        $view->viewBag('aniversariantes', $listaAniversariantes);



        return $view;

    }



    public function home(){

        $aniversariantes = $this->aniversariantesDao->lista();



        $montaLista = new Aniversariantes();

        $listaAniversariantes = $montaLista->montaListaAniversariantes($aniversariantes);



        $view = new View('home','Aniversariantes');

        $homeView = $view->viewHome('aniversariantes', $listaAniversariantes);



        return $homeView;

    }



    public function admin(){

        $aniversariantes = $this->aniversariantesDao->lista();



        $montaLista = new Aniversariantes();

        $listaAniversariantes = $montaLista->montaListaAniversariantes($aniversariantes, NULL);



        $view = new View('admin','Aniversariantes');

        $view->viewBag('aniversariantes', $listaAniversariantes);



        return $view;

    }



    public function form(){

        return new View ('form', 'Aniversariantes');

    }



    public function formAltera(){

        $aniversariantes = $this->aniversariantesDao->listaPorId($_POST['idAniversariantes']);



        $view = new View('altera','Aniversariantes');

        $view->viewBag('aniversariantes',$aniversariantes);



        return $view;

    }



    public function adiciona(){

        $aniversariantes = new Aniversariantes();

        $aniversariantes->setNome($_POST['nomeAniversariantes']);

        $aniversariantes->setDia($_POST['diaAniversariantes']);

        $aniversariantes->setMes($_POST['mesAniversariantes']);



        if ($aniversariantes->getNome() == "" || $aniversariantes->getDia() == "" || $aniversariantes->getMes() == "") {

            $mensagem = "Por favor não deixe nenhum campo em branco";

        } else {

            if ($this->aniversariantesDao->adiciona($aniversariantes)) {

                $mensagem = "Adicionado com sucesso";

                $tipoMenssagem = "sucess";

            } else {

                $mensagem = "Ocorreu um erro ao adicionar";

                $tipoMenssagem = "error";

            }

        }



        Redirect::header('Aniversariantes', 'admin', $tipoMenssagem, $mensagem);

    }




        public function altera(){

            $aniversariantes = new Aniversariantes();

            $aniversariantes->setId($_POST['idAniversariantes']);

            $aniversariantes->setNome($_POST['nomeAniversariantes']);

            $aniversariantes->setDia($_POST['diaAniversariantes']);

            $aniversariantes->setMes($_POST['mesAniversariantes']);



            if ($aniversariantes->getNome() == "" || $aniversariantes->getDia() == "" || $aniversariantes->getMes() == "") {

                $mensagem = "Por favor não deixe nenhum campo em branco";

            } else {

                if ($this->aniversariantesDao->altera($aniversariantes)) {

                    $mensagem = "Alterado com sucesso";

                    $tipoMenssagem = "sucess";

                } else {

                    $mensagem = "Ocorreu um erro ao alterar";

                    $tipoMenssagem = "error";

                }

            }



            Redirect::header('Aniversariantes', 'admin', $tipoMenssagem, $mensagem);

        }



    public function remove(){



        $aniversariantesId = ($_POST['idAniversariantes'] == "") ? 0 : $_POST['idAniversariantes'];



        if($aniversariantesId != 0 && $this->aniversariantesDao->remove($aniversariantesId)){

            $mensagem = "Aniversariantes removido com sucesso";

            $tipoMenssagem = "sucess";

        } else {

            $mensagem = "Selecione um aniversariantes para ser removida";

            $tipoMenssagem = "error";

        }



        Redirect::header('Aniversariantes', 'admin', $tipoMenssagem, $mensagem);

    }

}

 

Link para o comentário
Compartilhar em outros sites

A função do Script que está com bug é buscar e trazer os aniversariantes do dia, mas ele não encontra o Array desses aniversariantes, e não sei como fazer essa busca. porém, esse projeto possui uma aba própria de aniversariantes, no qual lista todos os aniversariantes cadastrados no sistema, ambos os scripts possuem praticamente a mesma estrutura de busca, mas apenas o segundo script de aniversariantes gerais é apresentado ao usuário. 

 

Script com os aniversariantes do dia (com BUG):

<?php include 'Vendor/View/Shared/Head.php' ?>
<body>
<?php include 'Vendor/View/Shared/Header.php' ?>

<div class="container-fluid">
	<div class="col-md-8">

		<!-- ANIVERSARIANTE DO DIA -->
			<div class="div-padrão">
				<div class="div-popup-aniversariantes">
				<h4>Parabéns</h4>
				<?php foreach ($viewBag["aniversariantes"] as $aniversariantes) : ?>
					<label>
						<?php echo $aniversariantes->getDia(); ?>/<?php echo $aniversariantes->getMes(); ?>
			    		- <?php echo mb_convert_case($aniversariantes->getNome(), MB_CASE_TITLE, 'UTF-8'); ?>
					</label></br>
				<?php endforeach ?>
				</div>
			</div>

		<!-- POSTAGEM -->
		<?php foreach ($viewBag["post"] as $post) : ?>
			<div class="div-padrão">
					<div class="div-padrão-title">
				        <h4><?php echo $post->getTitulo(); ?></h4>
				    </div>
				<div class="div-padrão-subtitle post-subtitle">
					<h6>Data da Publicação: <?php echo $post->getData(); ?></h6>
				</div>
				<div class="div-padrão-texto">
					<?php echo $post->getTexto(); ?>
				</div>
			</div>
		<?php endforeach ?>


		<!-- NAVEGAÇÃO -->
		<nav aria-label="...">
		  <ul class="pager">
			<?php if (isset($_GET['pagina'])): ?>
				<?php if ($_GET['pagina'] !== '1'): ?>
					<?php $pagina = (isset($_GET['pagina'])) ? $_GET['pagina'] - 1 : 1?>
					<li class="next">
						<a href="index.php?c=Index&m=index&pagina=<?php echo $pagina; ?>">Mais novas
							<span aria-hidden="true">&rarr;</span></a>
					</li>
				<?php endif ?>
			<?php endif ?>
			<?php $pagina = (isset($_GET['pagina'])) ? $_GET['pagina'] + 1 : 2 ?>
			<li class="previous">
				<a href="index.php?c=Index&m=index&pagina=<?php echo $pagina; ?>">
					<span aria-hidden="true">&larr;</span> Mais antigas</a>
			</li>
		  </ul>
		</nav>

	</div>

	<!-- DIVS LATERAIS -->
	<div class="col-md-4">

		<?php include 'Vendor/View/Helpdesk/home.php' ?>

		<?php //include 'Vendor/View/Cardapio/home.php' ?>

		<?php include 'Vendor/View/Aniversariantes/home.php' ?>

		<?php //include 'Vendor/View/Wifi/home.php' ?>
		<?php include 'Vendor/View/Sugestao/home.php' ?>
	</div>

</div>

<script type="text/javascript">
	$('img').addClass('img-responsive');
</script>

</body>
</html>

 

Isso é o que o vetor está encontrando na página principal, na qual era pra aparecer os aniversariantes do dia, ele encontra somente a aba de posts (que é a área de postagem de noticias do sistema):

$viewBag: Array
(
    [post] => Array
        (
        )

)

 

Script com os aniversariantes gerais, funcionando corretamente: 

<?php include 'Vendor/View/Shared/Head.php' ?>
<body>
<?php include 'Vendor/View/Shared/Header.php' ?>
<div class="container-fluid">
	<div class="col-md-6 col-md-offset-3">
		<div class="div-padrão">
			<div class="div-padrão-title">
				<h4>Bem vindo ao Aniversariantes</h4>
			</div>
			<table class="table table-striped table-hover">
				<thead>
					<tr>
						<th>Dia</th>
						<th>Nome</th>
					</tr>
				</thead>
				<tbody>
					<?php foreach ($viewBag["aniversariantes"] as $aniversariantes): ?>
						<tr>
							<td><?php echo $aniversariantes->getDia() . '/' . $aniversariantes->getMes(); ?></td>
							<td><?php echo mb_convert_case($aniversariantes->getNome(), MB_CASE_TITLE, 'UTF-8'); ?></td>
						</tr>
					<?php endforeach ?>
				</tbody>
			</table>
		</div>
	</div>
</div>
</body>
</html>
Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!