Ir para conteúdo
Fórum Script Brasil

Johnny1965

Membros
  • Total de itens

    3
  • Registro em

  • Última visita

Sobre Johnny1965

Johnny1965's Achievements

0

Reputação

  1. Carrissimos, Passo um array para inserir os dados no mysql com o código abaixo, resumidamente: $sql_ = "INSERT IGNORE INTO " . $this->table_name . " (inscricao , nome_razao_social , pais_sgl , uf) VALUES "; dentro do Foreach eu capturo os dados com: $sql .= " ('{$inscricao}', '{$nome_razao_social}', '{$pais_sgl}', '{$uf}'),"; Até aqui, tudo funciona correto. Se o array tiver no maximo 30 inserts, o script popula a tabela, mas se tiver 31 ou mais, não envia. O que pode ser? Existe alguma limitação? Meu array pode ter mais de 5mil registros. Se tem essa limitação, terei de dividir os inserts em nr de 30?
  2. Minha estrutura do arquivo TXT, é esta: Preciso ler, linha alinha e agrupar pelo (Cd), que é o único indice de cada registro. Assim, esse (Cd) refere-se a cada novo registro, podendo conter sub indices diversos - (11), (22), (Co), etc. Estes sub indices podem conter uma linha adicional (ver exemplo do (Co), no primeiro registro, que deve concatenar as linhas contendo "para gabinete" e "para armario."). inventario.txt //inicio No 0012 de 31/01/2016 No 0012 de 31/01/2016 (Cd) 12345 (11) Cod1-023 (22) 22/12/1945 (Co) travamento de portas para gabinete para armario. (Cd) 23456 (11) Cod1-055 (21) 01/01/2005 (22) gaveteiro ferro ,madeira ,aluminio (Cd) 78920 (22) Cod1-077 (54) 22/02/1975 (Co) clipe aluminio ou ferro (74) anodizado (Cd) 0002525 (Di) Cod4-07100 (11) 22/02/2017 (22) camisa vermelha verde (54) botoes amarelos (Co) manga ,abacate ,cereja //fim Implementei a rotina a seguir mas, após muita pesquisa e modificações, não consegui agrupar os sub indices: Juntamente , necessito de uma rotina para transferir os dados do array para variaveis e, posteriormente, para o BD do mysql. Se alguém puder me dar uma luz, agradeço. <?php $cd = []; $grupo = []; $contador = 0; $arquivo = fopen('inventario.txt', 'r'); while (!feof($arquivo)) { $linha = trim(fgets($arquivo, 1024)); //$linha = trim($linha); if (substr($linha, 0, 4) == '(Cd)') { $contador = 0; if (!empty($grupo)) { $cd[$id] = $grupo; $grupo = []; $contador = 0; } $id = substr($linha, 5, strlen($linha)-5 ); $cd[$id][] = $linha; } else { if (substr($linha, 0, 4) !== '(11)') { if (isset($grupo[$contador-1])) { $grupo[$contador -1] .= ' ' . $linha; $contador--; } } else { $grupo[] = $linha; } $contador++; } } $cd[$id] = $grupo; fclose($arquivo); echo '<pre>'; print_r($cd); exit; //------------------------- //Rotina para transferir os dados do array para variaveis $keys = array_keys($cd); for($i = 0; $i < count($cd); $i++) { echo $keys[$i] . "<br>"; foreach($cd[$keys[$i]] as $key => $value) { echo $key . " : " . $value . "<br>"; } echo "<br>"; }
×
×
  • Criar Novo...