Desafio 3.8

657 views
Skip to first unread message

Davi Lima

unread,
Jan 21, 2015, 7:37:54 PM1/21/15
to phpemysqlc...@googlegroups.com
Olá  

estou fazendo o desafio 3.8 "Faça com que o calendário exiba o dia atual em negrito, usando a função
date()."

Eu consegui fazer ele deixar o numero em negrito, mas aparecem alguns erros: 

Notice: Undefined offset: 3 in
Notice: Undefined offset: 4 in
Notice: Undefined offset: 5 in
Notice: Undefined offset: 6 in 


tentei testar antes usando o ISSET mas aparece outro erro. 


Usando a mesma função LINHA adicionei mais um if. 


<?php
function linha($semana){

echo "<tr>";
for ($i = 0; $i <= 6; $i++){
   if ($semana[$i] == date('d')){
echo "<td><strong>$semana[$i]</strong></td>";
} else if (isset($semana[$i])){
echo "<td>{$semana[$i]}</td>";
}else{
echo "<td></td>";
}
}
}

echo"</tr>";



?>   

Davi Lima

unread,
Jan 21, 2015, 8:31:42 PM1/21/15
to phpemysqlc...@googlegroups.com
Consegui fazer apenas coloquei usando uma condição logica E e funcionou porque ele testa antes com o iSSET


<?php
function linha($semana){

echo "<tr>";
for ($i = 0; $i <= 6; $i++){

   if ((isset($semana[$i])) &&($semana[$i] == date('d'))){

Evaldo Junior

unread,
Jan 26, 2015, 8:01:22 AM1/26/15
to phpemysqlc...@googlegroups.com
Boa, Davi.

Se o isset der false, ele nem vai para o segundo, assim evita o erro de undefined :)

Abracos

--
Você recebeu essa mensagem porque está inscrito no grupo "Livro PHP e MySQL - Casa do Código" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para phpemysqlcasadoc...@googlegroups.com.
Para mais opções, acesse https://groups.google.com/d/optout.

Alexandre Costa

unread,
May 28, 2015, 7:34:35 PM5/28/15
to phpemysqlc...@googlegroups.com
como ficaria para  colocar  o dia  atual em negrito?



Evaldo Junior

unread,
Jun 4, 2015, 4:48:07 AM6/4/15
to Alexandre Costa, phpemysqlc...@googlegroups.com
Voce pode colocar um if testando se a data usada é "hoje".
2015-05-29 1:34 GMT+02:00 Alexandre Costa <ti.alexan...@gmail.com>:
como ficaria para  colocar  o dia  atual em negrito?



Sergio Henrique Pereira Reis

unread,
Sep 19, 2015, 9:34:44 PM9/19/15
to Livro PHP e MySQL - Casa do Código, ti.alexan...@gmail.com
Ola, 

Uma duvida, 

Nessa parte eu coloquei:

if (isset($semana[$i]) &&$semana[$i] == date('d')){
echo "<td><strong>$semana[$i]</strong></td>";
}

Porque não posso colocar direto:

if (isset($semana[$i] == date('d'))){
echo "<td><strong>$semana[$i]</strong></td>";
}

Fiz o teste, vi que não funciona, só queria entender o porque.

Abraços,

On Thursday, June 4, 2015 at 5:48:07 AM UTC-3, Evaldo Junior wrote:
Voce pode colocar um if testando se a data usada é "hoje".
2015-05-29 1:34 GMT+02:00 Alexandre Costa <ti.alexan...@gmail.com>:
como ficaria para  colocar  o dia  atual em negrito?



--
Você recebeu essa mensagem porque está inscrito no grupo "Livro PHP e MySQL - Casa do Código" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para phpemysqlcasadocodigo+unsub...@googlegroups.com.

Evaldo Junior

unread,
Sep 21, 2015, 4:15:59 PM9/21/15
to Livro PHP e MySQL - Casa do Código
Olá, Sergio!

Olha o seu segundo isset, ele é mais ou menos assim:

isset(
    $semana[$i] == date('d')
)

O PHP vai executar o date e vai pegar o conteúdo de $semana[$i], assim:

isset(
    5 == 21
)

Ele vai entao saber que 5 nao é igual a 21, entao ele vai colocar FALSE e vai acabar ficando assim:

isset(false)

Por isso que nao funciona :)

Já no primeiro existem duas condicoes e ambas devem ser verdadeiras.

Abracos e bons estudos
2015-09-20 3:34 GMT+02:00 Sergio Henrique Pereira Reis <sergio...@gmail.com>:
Ola, 

Uma duvida, 

Nessa parte eu coloquei:

if (isset($semana[$i]) &&$semana[$i] == date('d')){
echo "<td><strong>$semana[$i]</strong></td>";
}

Porque não posso colocar direto:

if (isset($semana[$i] == date('d'))){
echo "<td><strong>$semana[$i]</strong></td>";
}

Fiz o teste, vi que não funciona, só queria entender o porque.

Abraços,

On Thursday, June 4, 2015 at 5:48:07 AM UTC-3, Evaldo Junior wrote:
Voce pode colocar um if testando se a data usada é "hoje".
2015-05-29 1:34 GMT+02:00 Alexandre Costa <ti.alexan...@gmail.com>:
como ficaria para  colocar  o dia  atual em negrito?



--
Você recebeu essa mensagem porque está inscrito no grupo "Livro PHP e MySQL - Casa do Código" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para phpemysqlcasadoc...@googlegroups.com.

Para mais opções, acesse https://groups.google.com/d/optout.

--
Você recebeu essa mensagem porque está inscrito no grupo "Livro PHP e MySQL - Casa do Código" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para phpemysqlcasadoc...@googlegroups.com.

landr...@gmail.com

unread,
Jan 17, 2018, 6:53:38 AM1/17/18
to Livro PHP e MySQL - Casa do Código
Pessoal não estou conseguindo! Alguém pode me ajudar? http://prntscr.com/i1n9dn - link da minha página

meu código -

 <style type="text/css">
table.table {
margin-top: 30px;
}
</style>
<div class="col-md-12"> 
<?php 

function linha($semana) {
echo "<tr>";
for ($i=0; $i <=6 ; $i++) { 


if ((isset($semana[$i])) &&($semana[$i] == date('d'))){
echo "<td><strong>$semana[$i]</strong></td>";

} elseif (isset($semana[$i])) {
echo "<td>{$semana[$i]}</td>";
} else {
echo "<td></td>";
}
;
} /*FIM FOR*/
echo "</tr>";
}


function calendario() {
$dia = 1;
$semana = array();
while ($dia<=31) {
array_push($semana, $dia);

if(count($semana) == 7){
linha($semana);
$semana = array();
}

$dia++;
}

linha($semana);
}


 ?>

<table class="table">
<tr>
<th>Dom</th>
<th>Seg</th>
<th>Ter</th>
<th>Qua</th>
<th>Qui</th>
<th>Sex</th>
<th>Sáb</th>
</tr>
<?php calendario(); ?>
</table>


<?php if (date(h) < 12) {
echo "<p>Bom dia!</p>";
} elseif (date(h) < 18) {
echo "<p>Boa tarde!</p>";
} else {
echo "<p>Boa noite!</p>";
} ?>


</div>

 
 

Evaldo Junior

unread,
Jan 19, 2018, 3:23:57 PM1/19/18
to Livro PHP e MySQL - Casa do Código
Qual é o problema que você está encontrando?

--
Você recebeu essa mensagem porque está inscrito no grupo "Livro PHP e MySQL - Casa do Código" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para phpemysqlcasadocodigo+unsub...@googlegroups.com.
Reply all
Reply to author
Forward
0 new messages