Hercles Posted March 8, 2014 Report Share Posted March 8, 2014 Caros, sou iniciante em PHP e tenho que fazer uma atividade e não sei como... Do tipo: A pagina tem que imprimir todas as datas que caiem na segunda-feira e quarta-feira num período de dia 03 de fevereiro a 5 de julho de 2014. Link to comment Share on other sites More sharing options...
I-NOZex Posted March 8, 2014 Report Share Posted March 8, 2014 (edited) isso é uma questão mais de (my)SQL doque de php... SELECT * FROM `table` WHERE `coluna_data` BETWEEN "03-02-2014" AND "05-07-2014" ORDER BY `coluna_data` ASC; ou SELECT * FROM `table` WHERE `coluna_data` >= "03-02-2014" AND `coluna_data` <= "05-07-2014" ORDER BY `coluna_data` ASC; Edited March 8, 2014 by I-NOZex B2R » Beat2Revolution v3.0b | Regista e divulga-nos beat2revolution.net Link to comment Share on other sites More sharing options...
HappyHippyHippo Posted March 8, 2014 Report Share Posted March 8, 2014 isso é uma questão mais de (my)SQL doque de php... não sei como tiraste essa conclusão ... $curstrdate = '2014-03-12'; $targetstedate = '2014-04-15'; $curdate = strtotime($curstrdate); $targetdate = strtotime($targetstedate); $curday = date("N", $curdate); if ($curday == 1) { $advance = 0; $jump = 2; } else if ($curday < 3) { $advance = 0; $jump = 5; } else if ($curday == 3) { $advance = 0; $jump = 5; } else { $advance = 8 - $curday; $jump = 2; } $stepdate = strtotime($curstrdate.' +'.$advance.' days'); while ($stepdate < $targetdate) { echo date("Y-m-d", $stepdate).' ('.date('N', $stepdate).' >> '.date('l', $stepdate).')<br />'; $next = date("Y-m-d", $stepdate).' +'.$jump.' days'; $stepdate = strtotime($next); $jump = ($jump == 2) ? 5 : 2; } IRC : sim, é algo que ainda existe >> #p@p Portugol Plus Link to comment Share on other sites More sharing options...
I-NOZex Posted March 8, 2014 Report Share Posted March 8, 2014 esquece, hoje tou zombie, agora reli a pergunta e vi que nao tinha nada a ver com o que respondi xD my bad! B2R » Beat2Revolution v3.0b | Regista e divulga-nos beat2revolution.net Link to comment Share on other sites More sharing options...
Hercles Posted March 10, 2014 Author Report Share Posted March 10, 2014 aqui : $curstrdate é somente o nome da variável ou esta transformando para o tipo? não estou conseguindo fazer isto: As datas tem que sair separadas por virgulas e a ultima data com um ponto final. Link to comment Share on other sites More sharing options...
HappyHippyHippo Posted March 10, 2014 Report Share Posted March 10, 2014 não estou conseguindo fazer isto: As datas tem que sair separadas por virgulas e a ultima data com um ponto final. o código demonstrado apresenta todas as segunda e quartas entre duas datas, logo, como o código está correcto e a questão é somente de apresentação, nem me vou dignificar a responder a esse problema, onde é pretendido "ter a papinha toda feita". já te arranjei a água e a farinha, já me dei ao trabalho de juntar tudo vigorosamente e colocar num recipiente jeitoso, não querias mais nada que eu agora tivesse de te dar à boquinha ... 1 Report IRC : sim, é algo que ainda existe >> #p@p Portugol Plus Link to comment Share on other sites More sharing options...
Hercles Posted March 10, 2014 Author Report Share Posted March 10, 2014 tava salvando na pasta errada .. foi mal Link to comment Share on other sites More sharing options...
Hercles Posted March 10, 2014 Author Report Share Posted March 10, 2014 (edited) não sei como tiraste essa conclusão ... $curstrdate = '2014-03-12'; $targetstedate = '2014-04-15'; $curdate = strtotime($curstrdate); $targetdate = strtotime($targetstedate); $curday = date("N", $curdate); if ($curday == 1) { $advance = 0; $jump = 2; } else if ($curday < 3) { $advance = 0; $jump = 5; } else if ($curday == 3) { $advance = 0; $jump = 5; } else { $advance = 8 - $curday; $jump = 2; } $stepdate = strtotime($curstrdate.' +'.$advance.' days'); while ($stepdate < $targetdate) { echo date("Y-m-d", $stepdate).' ('.date('N', $stepdate).' >> '.date('l', $stepdate).')<br />'; $next = date("Y-m-d", $stepdate).' +'.$jump.' days'; $stepdate = strtotime($next); $jump = ($jump == 2) ? 5 : 2; } tentei exibir no navegar e não vai... falta <php? ? Edited March 10, 2014 by Hercles Link to comment Share on other sites More sharing options...
I-NOZex Posted March 10, 2014 Report Share Posted March 10, 2014 claro B2R » Beat2Revolution v3.0b | Regista e divulga-nos beat2revolution.net Link to comment Share on other sites More sharing options...
Hercles Posted March 10, 2014 Author Report Share Posted March 10, 2014 (edited) mas eu faço o teste lá no wampServer e abre a escrita. não aparece o que o enunciado pede. Edited March 10, 2014 by Hercles Link to comment Share on other sites More sharing options...
Hercles Posted March 10, 2014 Author Report Share Posted March 10, 2014 como faço para a aparecer em português : tipo seg, 03/02 Link to comment Share on other sites More sharing options...
Hercles Posted March 10, 2014 Author Report Share Posted March 10, 2014 consegui fiz esta função: <?php function diaPt($dia) { $diasemanapt = array( 'Mon'=>'Seg', 'Tue'=>'Ter', 'Wed'=>'Qua', 'Thu'=>'Qui', 'Fry'=>'Sex', 'Sat'=>'Sabado', 'Sun'=>'Dom'); return ($diasemanapt[$dia]); } ?> Ainda não sei como vou fazer para que a ultima data não apareça uma virgula e sim um ponto final. Qua 25-06, Seg 30-06, Qua 02-07. <== ponto final Link to comment Share on other sites More sharing options...
Hercles Posted March 10, 2014 Author Report Share Posted March 10, 2014 bom fiz o while ate o dia 01/07 e acrescentei isto <?php echo "Qua 02/07." ?> se alguém tiver uma ideia melhor me avise 🙂🙂 Link to comment Share on other sites More sharing options...
Hercles Posted March 14, 2014 Author Report Share Posted March 14, 2014 (edited) <?php $inicio = strtotime ('03-02-2014); $fim=strtitime ('05-06-2014); $segundosdias = 24*60*60; $strdias = "dias de aula:"; $aux = $inicio; while ($aux <= $fim) { if (date('w', $$aux) == 1){ $strDias.=' seg'.date('d/m',$aux). ','; $aux += 2*segundosDias; } else if (data ('w',$aux) == 3) { $strDias .= 'qua ' .date ('d/m', $aux).','; $aux+=5=$segundosDias; } } echo rtrim($strDias, ",")."."; ?> Edited March 14, 2014 by Hercles Link to comment Share on other sites More sharing options...
HappyHippyHippo Posted March 14, 2014 Report Share Posted March 14, 2014 espero que esse não tenha sido o código apresentado pelo teu professor ... IRC : sim, é algo que ainda existe >> #p@p Portugol Plus Link to comment Share on other sites More sharing options...
Hercles Posted March 15, 2014 Author Report Share Posted March 15, 2014 Quase...rsrs ... o código que fiz ficou quase o dobro deste... O professor me auxiliou 🙂 Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now