Ir ao conteúdo

Posts recomendados

Postado

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

Postado

Realizei a substituição pelo !empty, mas agora ele nem apresenta a div, mesmo contendo aniversariantes no dia de hoje.

 

Screenshot_1.thumb.png.c4bd874e81a7bd49871653c9479330d4.png

 

Usei também um var_dump($viewBag) pra verificar se contem algo dentro desse índice, e ele não apresenta os aniversariantes no array.

 

Screenshot_2.thumb.png.269c780fd09e6b9c8c38882152620aa5.png

 

 

 

 

 

Postado

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);

    }

}

 

Postado

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>

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...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!