RodrigoGomes Postado Julho 24, 2007 Denunciar Share Postado Julho 24, 2007 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 - teste4e 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? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ESerra Postado Julho 24, 2007 Denunciar Share Postado Julho 24, 2007 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... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 itibere Postado Julho 24, 2007 Denunciar Share Postado Julho 24, 2007 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()); } ?> Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 RodrigoGomes Postado Julho 24, 2007 Autor Denunciar Share Postado Julho 24, 2007 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! =Dmas você quer dizer se tem 4 "<" fixos, é assim, e se eu tiver mais deles eu terei que usar sizeof? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ESerra Postado Julho 24, 2007 Denunciar Share Postado Julho 24, 2007 Sim.. se for fixo é daquela maneira, mas se o número for variar para cima ou para baixo ai você tem que usar o sizeof... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 RodrigoGomes Postado Julho 24, 2007 Autor Denunciar Share Postado Julho 24, 2007 e se o meu texto tiver mais de uma linha?exemplo:$texto="oi<ei<hi<olahoje<ontem<amanha<depoisum<dois<tres<quatro" Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ESerra Postado Julho 24, 2007 Denunciar Share Postado Julho 24, 2007 Se essas linhas foram geradas por ENTER você pode substituir \n por < usando o str_replace... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 RodrigoGomes Postado Julho 24, 2007 Autor Denunciar Share Postado Julho 24, 2007 (editado) 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 \nexemplo 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<olahoje<ontem<amanha<depoisum<dois<tres<quatroele iria por cada linha na table.. Editado Julho 24, 2007 por Vampyro Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ESerra Postado Julho 24, 2007 Denunciar Share Postado Julho 24, 2007 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-8tabela 2: 1-5-9tabela 3: 2-6-10Onde os números 0-4-8 (e os abaixo) são as chaves do array... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 RodrigoGomes Postado Julho 24, 2007 Autor Denunciar Share Postado Julho 24, 2007 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-8tabela 2: 1-5-9tabela 3: 2-6-10Onde 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? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ESerra Postado Julho 24, 2007 Denunciar Share Postado Julho 24, 2007 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... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 RodrigoGomes Postado Julho 24, 2007 Autor Denunciar Share Postado Julho 24, 2007 certo, consegui entender esta parte.. huahaporem, desculpa incomodar mais uma vez!!e se as "linhas" não forem fixas?? (O tanto de linhas pode ser qualquer um) Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ESerra Postado Julho 24, 2007 Denunciar Share Postado Julho 24, 2007 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... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 RodrigoGomes Postado Julho 25, 2007 Autor Denunciar Share Postado Julho 25, 2007 (editado) 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<Flucas<araujo<13<Mrafa<pereira<38<Me eu teria que por estes dados que eu peguei via socket na minha SQL, nas tabelas:nome - sobre nome - idade - sexoe 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 Julho 25, 2007 por Vampyro Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ESerra Postado Julho 25, 2007 Denunciar Share Postado Julho 25, 2007 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... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 RodrigoGomes Postado Julho 25, 2007 Autor Denunciar Share Postado Julho 25, 2007 humm vlww =Dobrigadão mesmo! vou por em prática.. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 RodrigoGomes Postado Julho 26, 2007 Autor Denunciar Share Postado Julho 26, 2007 (editado) Editado Julho 26, 2007 por Vampyro Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
RodrigoGomes
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
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.