Dyegod3 0 Denunciar post Postado Janeiro 21, 2009 Olá pessoal gostaria de saber como posso fazer para desmembrar uma string, na verdade acredito que seja isso q preciso para resolver o seguinte problema: tenho um valor no banco, esse do tipo varchar, porém o valor é numérico e corresponde ao tempo do cronômetro no sistema. gostaria de poder dividir esse valor da variável tempo em horas, minutos e segundos. a minha variável tempo echo por exemplo: 1h 6min 41 teria q ser: hora = 1, minuto = 6, segundo = 41 agradeço toda ajuda pessoal :rolleyes: Compartilhar este post Link para o post Compartilhar em outros sites
Alexandre Mendes 0 Denunciar post Postado Janeiro 21, 2009 Pq nao coloca o campo como integer e o valor em segundos ex 1h = 60min = 3600s ai é so trabalhar com segundos o que acha? http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif Compartilhar este post Link para o post Compartilhar em outros sites
Tash 5 Denunciar post Postado Janeiro 21, 2009 Ou melhor, usa um campo do tipo TIME http://dev.mysql.com/doc/refman/5.0/en/dat...e-overview.html Operações com strings envolvendo números são lentas.... o TIME sempre será mais eficiente. De qualquer forma, se você não puder alterar o tipo e quiser separar você pode fazer algo assim: SELECT SUBSTRING_INDEX(campo, 'h', 1) AS Horas, SUBSTRING_INDEX(SUBSTRING_INDEX(campo, 'h', -1), 'min', 1) AS Minutos, SUBSTRING_INDEX(campo, 'min', -1) AS Segundos, FROM Tabela http://dev.mysql.com/doc/refman/5.0/en/str...substring-index Compartilhar este post Link para o post Compartilhar em outros sites
Dyegod3 0 Denunciar post Postado Janeiro 21, 2009 tá... mais acho q tem como fazer desmembrando a string... terei q mudar muito cod e para fazer dessa forma :( Compartilhar este post Link para o post Compartilhar em outros sites
Tash 5 Denunciar post Postado Janeiro 21, 2009 Você pode quebrar a string via PHP com preg_split, facinho: $hora_tosca = "1h 40min 50"; list($horas, $minutos, $segundos) = preg_split('#\D#', $hora_tosca, PREG_SPLIT_NO_EMPTY); echo $horas."<br>"; echo $minutos."<br>"; echo $segundos."<br>"; Compartilhar este post Link para o post Compartilhar em outros sites
Dyegod3 0 Denunciar post Postado Janeiro 21, 2009 pow cara! é exatamente isso q qro fazer! mas oq esse PREG_SPLIT_NO_EMPTY faz~??? como faço para deixar somente os número sem: h / min Compartilhar este post Link para o post Compartilhar em outros sites
Tash 5 Denunciar post Postado Janeiro 21, 2009 Aliás, errei uma coisinha no meu código, faz assim: $hora_tosca = "1h 40min 50"; list($horas, $minutos, $segundos) = preg_split('#\D#', $hora_tosca, 0, PREG_SPLIT_NO_EMPTY); echo $horas."<br>"; echo $minutos."<br>"; echo $segundos."<br>"; Coloquei um 0 antes do PREG_SPLIT_NO_EMPTY Dá uma lida aqui pra entender: http://br.php.net/preg_split Compartilhar este post Link para o post Compartilhar em outros sites
Dyegod3 0 Denunciar post Postado Janeiro 22, 2009 valeu Tash realmente consegui fazer aki =D obrigado pela ajuda pessoal Compartilhar este post Link para o post Compartilhar em outros sites