thinomar
(usa Linux Mint)
Enviado em 29/08/2016 - 11:08h
msoliver sempre paciente e prestativo. Muito bom!
dpitta, o que o msoliver quer dizer com "separador de campos" é... vou dar um exemplo prático.
Vamos supor que você tenha uma tabela chamada Pessoa, e ela tenha os atributos id, nome, sexo, idade. Quando você faz uma query nessa tabela, os resultados terão de apresentar dois tipos de divisões para que você consiga compreende-los, e esses divisores são os de rows (linhas) e de fields (campos). Supondo que os divisores de fields sejam TABs (\t) e de rows sejam NEW LINEs (\n), o resultado de uma query com duas rows viria assim:
1\tThiago Martins\tMasculino\tVinte e dois\n2\tJeniffer Marques\tFeminino\tVinte e dois
Como o while pega de record em record (row em row), então ele já entenderia o separador de rows padrão, que é o \n (NEW LINE), e o que ele receberia seria isso a seguir, que ele processaria linha a linha:
1\tThiago Martins\tMasculino\tVinte e dois
2\tJeniffer Marques\tFeminino\tVinte e dois
Sendo assim, basta alterar o FIELD SEPARATOR (IFS) do while para que ele reconheça o separador de campos, que nesse caso é o TAB (\t). Alterando, ele reconhecerá assim:
Campos Linha 1:
1
Thiago Martins
Masculino
Vinte e dois
Campos Linha 2:
2
Jeniffer Marques
Feminino
Vinte e dois
Não alterando, ele reconhecerá assim, visto que não saberá qual delimitador você utiliza:
Campos Linha 1:
1
Thiago
Martins
Masculino
Vinte
e
dois
Campos Linha 2:
2
Jeniffer
Marques
Feminino
Vinte
e
dois
Conseguiu compreender?