Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

programax

[Resolvido] função sub - str

Recommended Posts

amigo e um trabalho!!...

eu criei esse topico para duvidas pq eu ñ estava vizualizando a data do banco com um SELECT, estava dando erro!!

eu sei usar a função sub-str para inserção de data no banco mysql e funciona!!...

oq eu ñ to entendeno e q no INSERT estava inserindo a data normal com sub-str ex: eu colocava 10112010..

no banco eu via:2010-11-10...

e agora ñ esta mais dando certo depois.. eu insiro por ex: 07062010.... e vou no banco e esta 0000-00-00...

 

ñ entendo pq antes funcionava..eu ñ mechi no codigo e agora ñ funciona..?

da uma olha no codigo acima para ver se você acha algum erro q eu ñ achei nenhum!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Evite tirar mais de uma dúvida no mesmo tópico, assim o mesmo fica focado no assunto inicial

e o fórum fica mais organizado.

 

Se o problema não é o substr então entitule melhor o tópico

para que possamos lhe ajudar mais objetivamente ok? ^_^

 

Um dos erros simples do seu código é esse:

 

$data_inicial  = $_POST['data_inicial'];       
        $dia= substr($data_inicial, 0, 2);
        $mes= substr($data_inicial, 3, 2);
        $ano= substr($data_inicial, 6, 4);
        $nova_data_inicial = $ano."-".$mes."-".$dia;
 
 $data_final  = $_POST['data_final'];   
    $dia= substr($data_inicial, 0, 2);
        $mes= substr($data_inicial, 3, 2);
        $ano= substr($data_inicial, 6, 4);
        $nova_data_final = $ano."-".$mes."-".$dia; 
Deveria ser assim

 

$data_inicial  = $_POST['data_inicial'];       
        $dia= substr($data_inicial, 0, 2);
        $mes= substr($data_inicial, 3, 2);
        $ano= substr($data_inicial, 6, 4);
        $nova_data_inicial = $ano."-".$mes."-".$dia;
 
 $data_final  = $_POST['data_final'];   
        $dia= substr($data_final, 0, 2);
        $mes= substr($data_final, 3, 2);
        $ano= substr($data_final, 6, 4);
        $nova_data_final = $ano."-".$mes."-".$dia; 
Talvez depois desta simples correção tudo se resolva ^_^

 

Grande parte dos erros aqui foram resolvidos de forma simples.

Um trabalho requer atenção. ;)

 

Abraços.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim Pirisculo você esta certo e eu comcordo... mas no começo do topico meu SELECT com Sub-str estava dando erro...

e era essa minha duvida*_*...Mas cara esse codigo funcionava direto eu inseria:10112010 e la no banco via:2010-11-10...

mas agora ta tudo:0000-00-00...você fez uma simples correção no meu codigo..mas qual foi q essa correçao q eu ñ consigo enchergar?

mesmo assim: eu copiei a correçao e colei.. e ficou do mesmo jeito...

oq sera pq estava fincionando!!

 

PPEEEEEEEEEERA AE

achei o defeito!!

a POSIçoes do SUB-STR ...pq as eu digitava 10112010 na contagem era como se tivesse 10/11/2010 ou 10-11-2010...

entao:

$data_inicial  = $_POST['data_inicial']; 
      
        $dia= substr($data_inicial, 0, 2);
        $mes= substr($data_inicial, 2, 2);
        $ano= substr($data_inicial, 4, 4);
        $nova_data_inicial = $ano."-".$mes."-".$dia;
 
$data_final  = $_POST['data_final'];  
		
		$dia= substr($data_final, 0, 2);
        $mes= substr($data_final, 2, 2);
        $ano= substr($data_final, 4, 4);
        $nova_data_final = $ano."-".$mes."-".$dia;

PRONTO agora vamos volta ao objetivo do topico...

preciso ver com o SELECT as datas q eu acabei de inserir.. mas da dando erro!!

<?php
        $sql3= "SELECT * FROM aditivo";

        $query3= mysql_query( $sql3 )or die( mysql_error() );

          while ($resultado3 = mysql_fetch_array($query3) )   // varredura dos dados da tabela com fetch_array
          {     
                $dia= substr($resultado3[data_inicial], 8, 2);
                $mes= substr($resultado3[data_inicial], 5, 2);
                $ano= substr($resultado3[data_inicial], 0, 4);
                $resultado3[nova_data_inicial]= $dia."/".$mes."/".$ano;
                
                $dia= substr($resultado3[data_final], 8, 2);
                $mes= substr($resultado3[data_final], 5, 2);
                $ano= substr($resultado3[data_final], 0, 4);
                $resultado3[nova_data_final]= $dia."/".$mes."/".$ano;
                
                print"
                
                        <table width= 20% border=1 align=left  cellpadding=10%>
                                <h2 align=center>Aditivo</h2>
                                <tr><td> N°Aditivo</td> </tr>
                                <tr><td> Data Inicial</td> </tr>
                                <tr><td> Data Final </td></tr>
                </table>        
                
                        <table width= 20% border=1 align=left  cellpadding=10%>
                                <tr><td> $resultado3[id_aditivo]                                </td></tr>
                                <tr><td> $resultado3[nova_data_inicial]                 </td></tr>
                                <tr><td> $resultado3[nova_data_finalal]                 </td></tr>
                        </table>
                        
                
                
                
                "; 
        
            }
        

?>
 


como eu armazeno a data em uma variavel so ..seu eu estou dentro de um

while ($resultado3 = mysql_fetch_array($query3) )
?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Nossa programax você é extremamente desatento cara. Se quer parou pra ler e ver a diferença entre os códigos. <_<

 

$resultado3[data_final] está dando erro de constante porque é necessário aspas para se trabalhar com array.

Qualquer valor sem $ e sem ' o PHP encara como variável constante.

 

Quando for trabalhar com array trabalhe da seguinte forma:

$resultado3['data_final'].

 

Para colocar todas as datas em uma unica variável crie um array ex:

 

$array = array();
while ($resultado3 = mysql_fetch_array($query3)) {
       $array[] = $resultado3['data_final'];
}
Corrija seu código e por favor leia com atenção as respostas dos membros do fórum.

Quando falar sobre um erro poste ele para sabermos qual é.

 

Leia com carinho o link abaixo. Percebe o que acabo de escrever? Leia

 

http://www.php.net/manual

 

Espero que agora o amigo seja mais atencioso com o que faz.

 

Abraços.

Compartilhar este post


Link para o post
Compartilhar em outros sites

olhei sim !! você fez a simples correção ,,

eu olhei a diferença, mas eu vi foi um Spaciamento q você deu na variavel ( $dia )...

se ñ foi so isso por favor destaque essa correção..

você disse:Percebe o que acabo de escrever?

sim percebo mas você perguntou isso pq eu tirei o foco do topico..?

pode deixar q eu vou ser mais atencioso!!

 

bem eu tenho q criar um array para fazer uma farredura das datas e fazer o sub-str?

 

tenha so um pouco de paciencia comigo...pq eu sou aprendiz!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Programax, o erro foi na hora de passar as variaveis

 

Seu código:

 

$data_inicial  = $_POST['data_inicial'];       
        $dia= substr($data_inicial, 0, 2);
        $mes= substr($data_inicial, 3, 2);
        $ano= substr($data_inicial, 6, 4);
        $nova_data_inicial = $ano."-".$mes."-".$dia;
 
 $data_final  = $_POST['data_final'];   
    $dia= substr($data_inicial, 0, 2);
        $mes= substr($data_inicial, 3, 2);
        $ano= substr($data_inicial, 6, 4);
        $nova_data_final = $ano."-".$mes."-".$dia;

 

Repare nas linhas $dia, $mes e $ano. o Erro não foi apenas o espaçamento

Se em

$data_final  = $_POST['data_final']
você deixou setado ['data_final'].

nas linahs em que você atribui elas, elas deveriam ser ['$data_final'] e não [$data_inicial]como você fez

é como o amigo Periscuelo disse, só faltou um pouco de atenção.

Compartilhar este post


Link para o post
Compartilhar em outros sites

q abestado e desatento eu sou !!

e cara e muita coisa pra fazer e desculpa Pirisculo fui desatendo!!

Mas Vou olhar os codigos mais lento.. e testar por partes..

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.