bcs_ptx 0 Denunciar post Postado Novembro 23, 2011 Estou tentando organizar minha lista de férias, ai o seguinte, tem primeiro e segundo período, e oque eu fiz... se o primeiro período das férias for menor que o segundo, mostra o segunda, se não o primeiro, mas não deu muito certo ai, oque está errado? erro não mostra, mas ele substitui quase todas as datas, como primeira data = 06/02/2012 segunda data = 02/07/2012 essas datas não deviam ser trocadas mas mudou <?php $data_hoje = date('y/m/d'); if($dados['primeiras_ferias2'] < $data_hoje){ echo $dados['segunda_ferias2']; }else{ echo $dados['primeiras_ferias2']; } ?> Compartilhar este post Link para o post Compartilhar em outros sites
Txai 1 Denunciar post Postado Novembro 23, 2011 cara, tu tem que faze um str_replace("/","",$data) pra tira as "/", depois tu tem que compara elas ou usa o substr() compara "bloco"(ano => mes => dia) tem várias formas de fazer, vou te deixa o exemplo do subtr(); <? $data = substr($data_hoje,6,4); $data .= substr($data_hoje,3,2); $data .= substr($data_hoje,0,2); $dataferias = substr($data['seu_campo_data'],6,4); $dataferias .= substr($data['seu_campo_data'],3,2); $dataferias .= substr($data['seu_campo_data'],0,2); if($data > $dataferias) { //bla bla bla } else { //bla2 bla2 bla2 } ?> se der erro avisa, mas quase certeza que funciona ^^ abraço! Compartilhar este post Link para o post Compartilhar em outros sites
bcs_ptx 0 Denunciar post Postado Novembro 23, 2011 Blza, mas continuou com o mesmo problema, ele não muda as datas, e quando muda muda errado só alguma nem todas Compartilhar este post Link para o post Compartilhar em outros sites
Txai 1 Denunciar post Postado Novembro 23, 2011 da echo nas tuas datas e posta aqui pra mim, que eu ajeito as substr() Compartilhar este post Link para o post Compartilhar em outros sites
bcs_ptx 0 Denunciar post Postado Novembro 23, 2011 vou fazer melhor, segue meu script. assim está meu script, ele lista as datas do primeiro período de férias da pessoa, e oque eu estava tentando fazer é quando a data do primeiro período for menor que o dia atual, ele automaticamente troca para o segundo período <?php $seleciona = mysql_query(" SELECT tbl_ferias2.id_ferias, tbl_usuarios.nome, date_format(tbl_ferias2.primeiras_ferias, '%d/%m/%Y') as primeiras_ferias2, date_format(tbl_ferias2.primeiras_ferias2, '%d/%m/%Y') as primeiras_ferias3, date_format(tbl_ferias2.segunda_ferias, '%d/%m/%Y') as segunda_ferias2, date_format(tbl_ferias2.segunda_ferias2, '%d/%m/%Y') as segunda_ferias3, tbl_status.status FROM tbl_ferias2 JOIN tbl_usuarios ON ( tbl_ferias2.id_usuario = tbl_usuarios.id_usuario ) JOIN tbl_status ON ( tbl_ferias2.id_status = tbl_status.id_status ) WHERE id_ferias LIMIT $inicio, $numero_registros"); ?> <?php while($dados = mysql_fetch_assoc($seleciona)){ ?> 1º período | de = <?php echo $dados['primeiras_ferias2']; ?> Até = <?php echo $dados['primeiras_ferias3']; ?> Compartilhar este post Link para o post Compartilhar em outros sites
Txai 1 Denunciar post Postado Novembro 23, 2011 olha só faz isso\/ $data_hoje = date("d/m/Y"); $data = substr($data_hoje,6,4); $data .= substr($data_hoje,3,2); $data .= substr($data_hoje,0,2); //da echo nela e confere echo $data; //ela tem que aparece assim: "AAAAMMDD" //A = ano //M = mes //D = dia //agora vamos pras férias $data_aux = $dados['primeiras_ferias2']; $dataferias = substr($data_aux,6,4); $dataferias .= substr($data_aux,3,2); $dataferias .= substr($data_aux,0,2); //da echo nela e confere echo $dataferias; se aparecer no formatado AAAAMMDD pode compará-las que não terá erro, mas verifica o echo antes, fiz aqui agora e deu tudo certo apareceu "20111123" para o primeiro echo que coloquei nesse código Compartilhar este post Link para o post Compartilhar em outros sites
bcs_ptx 0 Denunciar post Postado Novembro 23, 2011 cara, da Parse error: parse error na linha 245. que é essa linha = $data_aux = $dados['primeiras_ferias2']; Compartilhar este post Link para o post Compartilhar em outros sites
Txai 1 Denunciar post Postado Novembro 23, 2011 parse error é erro de sintax, de "ponto-vírgula", da uma olhada mais minuciosa, caso não consiga posta o trecho que está indicando o erro *quando digo trecho é 10 linhas acima e 10 linhas abaixo do numero indicado pelo php, pois as vezes ele indica o erro em um lugar, mas o erro pode estar em outro, apenas próximo aquele Compartilhar este post Link para o post Compartilhar em outros sites
bcs_ptx 0 Denunciar post Postado Novembro 23, 2011 blza achei o erro,olha oque imprimiu, a data era 2010-01-09 e mostra 2011112320120109 que é a data de hoje junto com a do dia das férias Compartilhar este post Link para o post Compartilhar em outros sites
Txai 1 Denunciar post Postado Novembro 23, 2011 separa as 2 em variáveis diferentes, e ai compara elas com if() e else o/ Compartilhar este post Link para o post Compartilhar em outros sites
bcs_ptx 0 Denunciar post Postado Novembro 23, 2011 blza cara, agora deu certo, só não entendi por que antes não estava dando Compartilhar este post Link para o post Compartilhar em outros sites
Txai 1 Denunciar post Postado Novembro 23, 2011 quando você compara duas datas, você está comparando 2 numeros ou duas strings(existem outros tipos mas nesse caso ou será um numero ou uma string), é o que a máquina vai considerar, de qualquer uma das 2 formas, deste modo: (vou substituir a variavel pelo seu valor para você entender) if( "10/10/2000" > "14/15/2034") qual formato que está ai emcima? string, a máquina não sabe diferenciar se uma string é "maior" que a outra, ela só sabe dizer se é igual ou não, então essa forma de comparar está errado. e se fosse: if( 10/10/2000 > 14/15/2034) seria número, mas que que significa "/" quando falamos de números? significa "divisão", logo a sintaxe estaria errada. a máquina não entende o formato específico "data", não existe o tipo "data" como fazer ela entender o que eu quero comparar? você traduzindo pra ela, foi isso que você fez com a substr(), a substr pegou os "pedaços" da string/numero que estava na forma de data, e colocou em uma variável como um número! espero ter ajudado, e ter esclarecido suas dúvias, qualquer coisa, pvt-me ^_^ Compartilhar este post Link para o post Compartilhar em outros sites
bcs_ptx 0 Denunciar post Postado Novembro 24, 2011 Bah cara, foi muito bom a tua explicação, me ajudou muito e entendi agora, valeu mesmo.abraço. Compartilhar este post Link para o post Compartilhar em outros sites