Show data if it exists and Date Show Age

Asked

Viewed 121 times

0

I have two questions. I have a code that shows several data and I just want to show them if some values exist. See the following code:

echo' <div class="tabla7">
<p><div class="titulo7">Nome</div><div class="titulo7">Data Nascimento</div><div    class="titulo7">Idade</div><div class="titulo7">Categoria Profissional</div>
<div class="titulo7">Data Entrega EPIS</div><div class="titulo7">Validade FAM</div><div class="titulo7">Credenciais</div></p>


 <p>
 <div class="columna7"> '.$exibe["Nome1"].'</div>
 <div class="columna7"> '.$exibe["DataNascimento1"].'</div>
 <div class="columna7"> idade</div>
 <div class="columna7"> '.$exibe["Funcao1"].'</div>
 <div class="columna7"> '.$exibe["EPISValidade"].'</div>
 <div class="columna7"> '.$exibe["MedicaValidade"].'</div>
 <div class="columna7"> <a href="TrabalhadorMostrar1.php?id='.$exibe['id'].'"> Ver Credenciais </a></div>
 </div>


  //Mostrar apenas se existir o Nome2


 echo' <div class="tabla7">
<p><div class="titulo7">Nome</div><div class="titulo7">Data Nascimento</div><div class="titulo7">Idade</div><div class="titulo7">Categoria Profissional</div>
 <div class="titulo7">Data Entrega EPIS</div><div class="titulo7">Validade FAM</div><div class="titulo7">Credenciais</div></p>


 <p>
 <div class="columna7"> '.$exibe["Nome2"].'</div>
 <div class="columna7"> '.$exibe["DataNascimento2"].'</div>
 <div class="columna7"> Idade2</div>
 <div class="columna7"> '.$exibe["Funcao2"].'</div>
 <div class="columna7"> '.$exibe["EPISValidade2"].'</div>
 <div class="columna7"> '.$exibe["MedicaValidade2"].'</div>
 <div class="columna7"> <a href="TrabalhadorMostrar2.php?id='.$exibe['id'].'"> Ver       Credenciais </a></div>
 </div>

I just want to show the second set of data if Name2 is filled.

Moreover, I have another question: I can show the age of a worker using only the date of birth?

  • Yes, make a condition that checks the content of nome2 and for age, perform a static function that returns the result of the current date by subtracting the date of birth.

  • But there’s no such thing as: Now() - Databirth or anything like that?

  • Yes, there is, date('d/m/Y'), but note that the formatting needs to be the same as your database, to compare data dynamically.

  • So, did you understand how to use it? It worked? It’s good practice to signal if the answer helped or not, if yes, you can mark it as accepted.

1 answer

1


Try it like this:

echo' <div class="tabla7">
<p><div class="titulo7">Nome</div><div class="titulo7">Data Nascimento</div><div    class="titulo7">Idade</div><div class="titulo7">Categoria Profissional</div>
<div class="titulo7">Data Entrega EPIS</div><div class="titulo7">Validade FAM</div><div class="titulo7">Credenciais</div></p>


 <p>
 <div class="columna7"> '.$exibe["Nome1"].'</div>
 <div class="columna7"> '.$exibe["DataNascimento1"].'</div>
 <div class="columna7"> idade</div>
 <div class="columna7"> '.$exibe["Funcao1"].'</div>
 <div class="columna7"> '.$exibe["EPISValidade"].'</div>
 <div class="columna7"> '.$exibe["MedicaValidade"].'</div>
 <div class="columna7"> <a href="TrabalhadorMostrar1.php?id='.$exibe['id'].'"> Ver Credenciais </a></div>
 </div>


 <?php if(!empty($exibe["Nome2"])): ?>


 echo' <div class="tabla7">
<p><div class="titulo7">Nome</div><div class="titulo7">Data Nascimento</div><div class="titulo7">Idade</div><div class="titulo7">Categoria Profissional</div>
 <div class="titulo7">Data Entrega EPIS</div><div class="titulo7">Validade FAM</div><div class="titulo7">Credenciais</div></p>


 <p>
 <div class="columna7"> '.$exibe["Nome2"].'</div>
 <div class="columna7"> '.$exibe["DataNascimento2"].'</div>
 <div class="columna7"> <?php echo (date('d/m/Y') - $exibe["DataNascimento2"]); ?></div>
 <div class="columna7"> '.$exibe["Funcao2"].'</div>
 <div class="columna7"> '.$exibe["EPISValidade2"].'</div>
 <div class="columna7"> '.$exibe["MedicaValidade2"].'</div>
 <div class="columna7"> <a href="TrabalhadorMostrar2.php?id='.$exibe['id'].'"> Ver       Credenciais </a></div>
 </div>

<?php endif; ?>

Another way to do it is to make your results array with an index per object.

Example:

 echo' <div class="tabla7">
 <p><div class="titulo7">Nome</div><div class="titulo7">Data Nascimento</div><div    class="titulo7">Idade</div><div class="titulo7">Categoria Profissional</div>
 <div class="titulo7">Data Entrega EPIS</div><div class="titulo7">Validade FAM</div><div class="titulo7">Credenciais</div></p>

 <?php foreach($exibe as $trabalhador): ?>

 <p>
 <div class="columna7"> '.$trabalhador["Nome"].'</div>
 <div class="columna7"> '.$trabalhador["DataNascimento"].'</div>
 <div class="columna7"> <?php echo (date('d/m/Y') - $trabalhador["DataNascimento"]); ?></div>
 <div class="columna7"> '.$trabalhador["Funcao"].'</div>
 <div class="columna7"> '.$trabalhador["EPISValidade"].'</div>
 <div class="columna7"> '.$trabalhador["MedicaValidade"].'</div>
 <div class="columna7"> <a href="TrabalhadorMostrar.php?id='.$trabalhador['id'].'"> Ver Credenciais </a></div>
</div>
<?php endforeach; ?>

About the alternative form of the foreach or if syntax: http://php.net/manual/en/control-structures.alternative-syntax.php

  • meto php inside php? is that I have more data: Name3, Name4,Name5 ....

  • A question, why you have not indexed an array like this: $exibe[0]['Nome'], $exibe[1]['Nome'] instead of $exibe['Nome1'] ? Then just apply one foreach and make everything dynamic. It would greatly reduce your HTML, you just make an HTML diagram for each index result $exibe['x']... I’ll post another answer...

  • But I’m only using php. The code I posted is php

  • It’s php with HTML, php is server-side, html is just client-side, you can use html within php.

Browser other questions tagged

You are not signed in. Login or sign up in order to post.