Ir para conteúdo
Fórum Script Brasil
  • 0

Separar Texto E Inserir Na Sql


RodrigoGomes

Pergunta

boa tarde amigos!

bom eu tenho uma dúvida por algo que eu não sei o que eu "uso" pra fazer, então lá vai...

vamos supor que eu tenho um texto assim:

$texto="oi<ei<hi<ola";

e uma SQL assim..

teste1 - teste2 - teste3 - teste4

e gostaria de por, o "oi" na tabela "teste1" o "ei" na tabela "teste2", o "hi" na tabela "teste3", e assim por diante...

alguém sabe como eu poderia fazer isso?

Link para o comentário
Compartilhar em outros sites

16 respostass a esta questão

Posts Recomendados

  • 0

usa o explode para dividir...

$texto_div = explode("<",$texto);

Isso vai criar um array com o elementos:

$texto_div['0']

$texto_div['1']

$texto_div['2']

$texto_div['3']

Se o temanho do texto não for ser fixo, você pode usar sizeof para contar quantos elementos tem o array e assim inserir no BD...

Link para o comentário
Compartilhar em outros sites

  • 0

Não sei se é a maneira mais correta de se fazer, mas assim acho que funciona:

<?php
$texto="oi<ei<hi<ola";
$textoArr=explode("<", $texto);
$result = count($textoArr);
for($i=0;$i<$result;$i++){
$campo=$textoArr[$i];
$tabelaTeste="teste".$textoArr[$i];
$sqlInsert="Insert into $tabelaTeste 'nome_campo' values('$campo')";
$resInsert=mysql_query($sqlInsert)or die(mysql_error());
}
?>

Link para o comentário
Compartilhar em outros sites

  • 0
usa o explode para dividir...

$texto_div = explode("<",$texto);

Isso vai criar um array com o elementos:

$texto_div['0']

$texto_div['1']

$texto_div['2']

$texto_div['3']

Se o temanho do texto não for ser fixo, você pode usar sizeof para contar quantos elementos tem o array e assim inserir no BD...

isso ótima idéia! =D

mas você quer dizer se tem 4 "<" fixos, é assim, e se eu tiver mais deles eu terei que usar sizeof?

Link para o comentário
Compartilhar em outros sites

  • 0
Se essas linhas foram geradas por ENTER você pode substituir \n\r (ou \n apenas) por < usando o str_replace...

não foi neste sentido que quis explicar, não é separar os < por \n

exemplo como deveria ficar os dados na SQL:

______________________

| teste1 | teste2 | teste 3 |

|    o i   |     ei      |    hi     |

|  hoje  |  ontem  |amanha|

|   um   |    dois   |    tres  |

-------------------------------

o script iria separar normalmente os < e inserir na SQL, porem se o meu texto tiver mais de uma linha:

oi<ei<hi<ola

hoje<ontem<amanha<depois

um<dois<tres<quatro

ele iria por cada linha na table..

Editado por Vampyro
Link para o comentário
Compartilhar em outros sites

  • 0

Neste caso específico bastaria você sabe de quantos em quantos elementos você quer inserir em uma determinada tabela e criar um algoritmo que faça isso... pois veja que nesse caso seria de 4 em 4 elementos...

tabela 1: 0-4-8

tabela 2: 1-5-9

tabela 3: 2-6-10

Onde os números 0-4-8 (e os abaixo) são as chaves do array...

Link para o comentário
Compartilhar em outros sites

  • 0
Neste caso específico bastaria você sabe de quantos em quantos elementos você quer inserir em uma determinada tabela e criar um algoritmo que faça isso... pois veja que nesse caso seria de 4 em 4 elementos...

tabela 1: 0-4-8

tabela 2: 1-5-9

tabela 3: 2-6-10

Onde os números 0-4-8 (e os abaixo) são as chaves do array...

ih agora complico.. :o

eu não sou muito fera em array, como eu faria isso?

Link para o comentário
Compartilhar em outros sites

  • 0

Como faria o algoritmo? Bem, isso é raciocínio, e é claro que eu não vou trabalhar para você...

Quando eu disse:

"Onde os números 0-4-8 (e os abaixo) são as chaves do array..."

Contextualizando....

$texto="oi<ei<hi<ola
hoje<ontem<amanha<depois
um<dois<tres<quatro";
$texto_exp = explode("<",$texto);
?>

No caso o $texto_exp vai formar um array, e os números vão ser as chaves, ou seja, $texto_exp[0], $texto_exp[4], $texto_exp[8]...

Eu fiz a um tempo atrás um negócio que usava essa lógica... acho que dá pra aproveitar para o caso... procure ai nas minhas mensagens...

Link para o comentário
Compartilhar em outros sites

  • 0

Tudo isso tem que ser controlado do algoritmo que for feito... ou seja, se linhas e colunas não forem fixas, se o tipo separador (no caso o <) vai ser fixo ou não... etc... tudo isso é controlado no próprio algoritmo que for implementado para a solução do problema...

Link para o comentário
Compartilhar em outros sites

  • 0

mas assim, no caso não vai ter como eu saber o tanto de linhas, por que eu queria fazer o seguinte..

tenho um servidor, e ele mandaria uma lista assim:

patricia<ferreira<29<F

lucas<araujo<13<M

rafa<pereira<38<M

e eu teria que por estes dados que eu peguei via socket na minha SQL, nas tabelas:

nome - sobre nome - idade - sexo

e como eu não posso saber a quantidade certa de usuários, por que cadastram-se mais constantemente, então não tem como eu definir quantas linhas terão.. a unica coisa fixa é os "<", tem como eu fazer o que quero usando a sua idéia?

Editado por Vampyro
Link para o comentário
Compartilhar em outros sites

  • 0

Como eu disse em outro POST, as quebras de linha podem ser identificadas pelo \n, então basta você usar o str_replace para substituir \n por alguma outra coisa (um | por exemplo), mandar explode separar nesse | e contar quantos elementos têm, ai você descobre o número de linha... só não sei se os < podem causar algum problema...

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,1k
×
×
  • Criar Novo...