Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Salve galera, loucura e já estou pirando e nem sei onde chegar uma solução, agora pirei de vez.
Bom vamos lá.
Tenho um sistema de data de nascimento que são inserido no meu banco de dados Mysql a função realizada na estrutura do phpaMyAdmin está registrada assim.
datanascimento date Não 0000-00-00
Ai tudo bem.. o campos inseridos vão certinho
fiz um explode para pegar o dia, mê e ano
//resgatando apenas o mês do banco de dados
$mes = explode("-",$row_rs['datanascimento']);
$mes[1];
//resgatando apenas o dia do banco de dados
$dia = explode("-",$row_rs['datanascimento']);
$dia[2];
//resgatando apenas o ano do banco de dados
$ano = explode("-",$row_rs['datanascimento']);
$ano[0];
Agora quando vou fazer a busca para update para as datas
1979-05-09
depois BLA BLAAAAA
<option value="01" <?php if (!(strcmp(01, $dia[2]))) {echo "selected=\"selected\"";} ?>>01</option>
AGORAAAAA..........
LOUKURA
tenho a data de nascimento assim
1979-05-09
Nesse exemplo vou pegar o dia "09"
Que corresponde assim.
<option value="09" <?php if (!(strcmp(09, $dia[2]))) {echo "selected=\"selected\"";} ?>>09</option>
NÃO FICA SELECTED
agora se for assim
1979-05-10
<option value="10" <?php if (!(strcmp(10, $dia[2]))) {echo "selected=\"selected\"";} ?>>10</option>
FICAAAAA.....
01, 02, 03, 04 ,05 ,06 ,07 ,08 ,09 --->> dia
01, 02, 03, 04 ,05 ,06 ,07 ,08 ,09 ==> mês
Não ficam
Sei lá..
O alguem poderia dar uma solução???
Será que o MYSQL que não aceita o "0"
Aguardo..
http://forum.imasters.com.br/public/style_emoticons/default/cry.gif http://forum.imasters.com.br/public/style_emoticons/default/cry.gif http://forum.imasters.com.br/public/style_emoticons/default/cry.gif http://forum.imasters.com.br/public/style_emoticons/default/cry.gif http://forum.imasters.com.br/public/style_emoticons/default/cry.gif
Olá Galera um amigo deu um Help no meu MSN..e depois complementei alguns codigos.Se alguém precisar está aqui o esquema<? $data = explode('-','1999-02-01']); $data[0]; //= ano $data[1]; //= mes $data[2]; //= dia // Apenas o dia selecionado $html = '<select name=dia class=BordaForm>'; for($i=1;$i<=31;$i++){ str_pad($i,2,0,STR_PAD_LEFT) == $data[2] ? $sel = 'selected' : $sel = ''; $html .= '<option value="'.str_pad($i,2,0,STR_PAD_LEFT).'" '.$sel.'>'.str_pad($i,2,0, STR_PAD_LEFT).'</option>'."\n";} $html .= '</select>'; print($html); ?> / <? // Apenas o mes selecionado $html = '<select name=mes class=BordaForm>'; for($i=1;$i<=12;$i++){ str_pad($i,2,0,STR_PAD_LEFT) == $data[1] ? $sel = 'selected' : $sel = ''; $html .= '<option value="'.str_pad($i,2,0,STR_PAD_LEFT).'" '.$sel.'>'.str_pad($i,2,0, STR_PAD_LEFT).'</option>'."\n";} $html .= '</select>'; print($html); ?> / <? // Apenas o mes selecionado $html = '<select name=ano class=BordaForm>'; for($i=1900;$i<=2010;$i++){ str_pad($i,2,0,STR_PAD_LEFT) == $data[0] ? $sel = 'selected' : $sel = ''; $html .= '<option value="'.str_pad($i,2,0,STR_PAD_LEFT).'" '.$sel.'>'.str_pad($i,2,0, STR_PAD_LEFT).'</option>'."\n";} $html .= '</select>'; print($html); ?>
o php não considera o zero a esquerda ele elimina automaticamente esse valor então ele está pegando 1,2,3,4,5,6,7,8,9 ao invez de 01,02,03,04,05,06,07... sako.. você pode usar o number_format para arrumar esse problema da seguinte forma
str_pad(1,2,0,STR_PAD_LEFT); //str_pad(valor,casas,valor_a_ser_inserido,tipo_de_insersão);
sendo que a casas é funfa da seguinte forma.. por exemplo
str_pad(1,2,0,STR_PAD_LEFT);
aqui eu tenho o valor 1 só que eu quero que ele complete com um 0 a esqueda então quer diser que é obrigado ter pelo - 2 caracters se eu tivesse
str_pad(11,2,0,STR_PAD_LEFT); ele iria retorna 11 pois os 2 caracters foram preenchidos mais no nosso caso lá em cima ele iria retorna 01 pois no valor só temos uma casa ;)