nknk 3 Denunciar post Postado Julho 31, 2007 Oi, Não encontrei no fórum, é uma função interessante! Alguém sabe como fazer? Já viu em algum lugar ? Preciso do código para implementar em um cadastro.Por exemplo.: O usuário digita a data de nasc 10/01/1910 ou só dia e mêsE ele devolve o signo da pessoa - Áries(acho que deve ser esse) Compartilhar este post Link para o post Compartilhar em outros sites
7981273981723 0 Denunciar post Postado Julho 31, 2007 Amigo, basta usar IF que você consegue fazer tudo. Eu não sei como funcionam os signos direito (nao sei as datas exatas), mas vou dar um exemplo. if ($mes == "setembro" and $dia > 15 OR $mes == "outubro" and $dia < 20) { $signo = "XXX"; } Talvez tenha alguns erros, mas o principio é esse. Compartilhar este post Link para o post Compartilhar em outros sites
klonder 14 Denunciar post Postado Agosto 1, 2007 Olá a todos! Bem, eu me interessei pelo tópico e resolvi postar aqui um código que poderá atender às suas necessidades: Ah... é como o fvmp mesmo comentou... são necessários vários ifs para verificar as datas limites de cada signo. Bom, não sei se existe outra lógica mais fácil mas, como estou meio sem tempo, vou colocar o que pude desenvolver: <?php//Data recebida através de um formulário, BD, etc...$data = "31/07/2007";//Capturando mês e dia:$mes=substr($data,3,2);$dia=substr($data,0,2);echo $dia."/".$mes."<br>";//Áries: 21/03 a 20/04//Touro: 21/04 a 20/05//Gêmeos: 21/05 a 20/06//Câncer: 21/06 a 21/07//Leão: 22/07 a 22/08//Virgem: 23/08 a 22/09//Libra: 23/09 a 22/10//Escorpião: 23/10 a 21/11//Sagitário: 22/11 a 21/12//Capricórnio: 22/12 a 20/01//Aquário: 21/01 a 19/02//Peixes: 20/02 a 20/03echo "Seu signo: ";if($mes=="03"){//Áries: 21/03 a 20/04 if($dia>="21"){echo "Áries";} else{echo "Peixes";}}if($mes=="04"){//Touro: 21/04 a 20/05 if($dia>="21"){echo "Touro";} else{echo "Áries";}}if($mes=="05"){//Gêmeos: 21/05 a 20/06 if($dia>="21"){echo "Gêmeos";} else{echo "Touro";}}if($mes=="06"){//Câncer: 21/06 a 21/07 if($dia>="21"){echo "Câncer";} else{echo "Gêmeos";}}if($mes=="07"){//Leão: 22/07 a 22/08 if($dia>="22"){ echo "Leão";} else{echo "Câncer";}}if($mes=="08"){//Virgem: 23/08 a 22/09 if($dia>=23){ echo "Virgem";} else{echo "Leão";}}if($mes=="09"){//Libra: 23/09 a 22/10 if($dia>="23"){ echo "Libra";} else{echo "Virgem";}}if($mes=="10"){//Escorpião: 23/10 a 21/11 if($dia>="23"){ echo "Escorpião";} else{echo "Libra";}}if($mes=="11"){//Sagitário: 22/11 a 21/12 if($dia>="22"){echo "Sagitário";} else{echo "Escorpião";}}if($mes=="12"){//Capricórnio: 22/12 a 20/01 if($dia>="22"){echo "Capricórnio";} else{echo "Sagitário";}}if($mes=="01"){//Aquário: 21/01 a 19/02 if($dia>="21"){echo "Aquário";} else{echo "Capricórnio";}}if($mes=="02"){//Peixes: 20/02 a 20/03 if($dia>="20"){echo "Peixes";} else{echo "Aquário";}}?> Como podem ver, coloquei o código meio "imbricado", não seguindo um modelo ideal de programação para reduzir a área de postagem. Mas o código está aí... basta colá-lo em seu editor PHP e fazer as alterações necessárias conforme o seu propósito... Espero ter ajudado! Um abraço! Compartilhar este post Link para o post Compartilhar em outros sites
7981273981723 0 Denunciar post Postado Agosto 1, 2007 Perfeito klonder, esse código vai funcionar perfeitamente. mas acho que no caso seria melhor usar elseif a partir do segundo if. Por exemplo: echo "Seu signo: ";if($mes=="03"){//Áries: 21/03 a 20/04 if($dia>="21"){echo "Áries";} else{echo "Peixes";}}elseif($mes=="04"){//Touro: 21/04 a 20/05 if($dia>="21"){echo "Touro";} else{echo "Áries";}}elseif($mes=="05"){//Gêmeos: 21/05 a 20/06 if($dia>="21"){echo "Gêmeos";} else{echo "Touro";}} Compartilhar este post Link para o post Compartilhar em outros sites
klonder 14 Denunciar post Postado Agosto 1, 2007 mas acho que no caso seria melhor usar elseif a partir do segundo if.Nossa! É verdade fvmp! Você, sem querer, acabou me inspirando a fazer até uma validação de data inválida (menos para fevereiro, porque estou meio sem tempo)... mas isso não será difícil não... Aí está o novo código, by fvmp: <?php//Data recebida através de um formulário, BD, etc...$data = "33/14/2007";//Capturando mês e dia:$mes=substr($data,3,2);$dia=substr($data,0,2);echo $dia."/".$mes."<br>";//Áries: 21/03 a 20/04//Touro: 21/04 a 20/05//Gêmeos: 21/05 a 20/06//Câncer: 21/06 a 21/07//Leão: 22/07 a 22/08//Virgem: 23/08 a 22/09//Libra: 23/09 a 22/10//Escorpião: 23/10 a 21/11//Sagitário: 22/11 a 21/12//Capricórnio: 22/12 a 20/01//Aquário: 21/01 a 19/02//Peixes: 20/02 a 20/03echo "Seu signo: ";//Verificando se a data informada é válida:if ($mes<"01" OR $mes>"12"){echo "O mês informado é inválido!";}elseif ($dia<"01" OR $dia>"31") {echo "O dia informado é inválido!";}//Se estiver tudo certo, o bloco a seguir é executado:else{ if($mes=="03"){//Áries: 21/03 a 20/04 if($dia>="21"){echo "Áries";} else{echo "Peixes";} } elseif($mes=="04"){//Touro: 21/04 a 20/05 if($dia>="21"){echo "Touro";} else{echo "Áries";} } elseif($mes=="05"){//Gêmeos: 21/05 a 20/06 if($dia>="21"){echo "Gêmeos";} else{echo "Touro";} } elseif($mes=="06"){//Câncer: 21/06 a 21/07 if($dia>="21"){echo "Câncer";} else{echo "Gêmeos";} } elseif($mes=="07"){//Leão: 22/07 a 22/08 if($dia>="22"){ echo "Leão";} else{echo "Câncer";} } elseif($mes=="08"){//Virgem: 23/08 a 22/09 if($dia>=23){ echo "Virgem";} else{echo "Leão";} } elseif($mes=="09"){//Libra: 23/09 a 22/10 if($dia>="23"){ echo "Libra";} else{echo "Virgem";} } elseif($mes=="10"){//Escorpião: 23/10 a 21/11 if($dia>="23"){ echo "Escorpião";} else{echo "Libra";} } elseif($mes=="11"){//Sagitário: 22/11 a 21/12 if($dia>="22"){echo "Sagitário";} else{echo "Escorpião";} } elseif($mes=="12"){//Capricórnio: 22/12 a 20/01 if($dia>="22"){echo "Capricórnio";} else{echo "Sagitário";} } elseif($mes=="01"){//Aquário: 21/01 a 19/02 if($dia>="21"){echo "Aquário";} else{echo "Capricórnio";} } else{//Peixes: 20/02 a 20/03 if($dia>="20"){echo "Peixes";} else{echo "Aquário";} } } ?> Compartilhar este post Link para o post Compartilhar em outros sites
nknk 3 Denunciar post Postado Agosto 1, 2007 Eu usei o código do klonder e fvmpe funcionou.Não testei a do tmferreira pq a solução é para um nível mais avançado mas com maior otimização, não entendi completamente. Mas de qq forma obrigado pelas respostas Compartilhar este post Link para o post Compartilhar em outros sites