Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Ao jogar os dados na array, ele só consegue capturar no máximo 6 colunas. as linhas não tem limites (ou não cheguei lá).
Se colocar 6 colunas aparece a array. Se eu colocar 7 ou mais, fica em branco, nada é mostrado.
Já tentei com while:
$row = $result->fetch_assoc()
$row = mysql_fetch_assoc($result)
$row = mysqli_fetch_array($result, MYSQL_ASSOC)
Já aumentei o limite no php.ini: memory_limit = 1024M
Já coloquei até 100G
o Código é simples.
$row_array['telefone'] = $row['telefone']; // Aqui eu pego os dados. Q se colocar mais q 6 desses, fica tudo em branco
array_push($json_response,$row_array); // Aqui eu jogo na array
Coloquei no início da página e continua tudo em branco.
Alterei até para
ini_set( 'display_errors', 1 );
error_reporting( E_ALL | E_STRICT );
Mas continua em branco.
No php.ini o display errors já está como On
Estranho...
Note que $row já é um array. Tente usá-lo no array_push, em vez de criar $row_array.
Teste assim:
array_push($json_response, $row);
E retire as linhas que criam $row_array.
Veja se algo muda
Mudei o final para
echo '<pre>';
print_r($json_response);
echo '</pre>';
E tem como output:
Array
(
[0] => Array
(
[id] => 2
[uf] => AM
)
)
De todas as linhas e colunas.
Como eu posso fazer para escolher apenas 1 célula?
por ex: [0][uf]
--------
Postando para salvar.
Vou tentar fazer oque você disse agora.
-------------
Tá difícil.
Retirei os $row_array, deixando apenas array_push($json_response,$row);
E usei 2 coisas para imprimir.
O Json, e o print_r
O Json fica em branco, o array aparece normal, todos os conteúdos neste formato:
Array
(
[0] => Array
(
[id] => 2
[uf] => AM
)
)
Se tiver como recolher estes dados Array em ajax, pode me falar? isso vai resolver tudo.
No php é só usar print_r($json_response[0]["id"]); que vai sair 2
Oq eu quero com esse script é pegar os dados do mysql e imprimir em ajax, para fazer uma tabela dinâmica.
Avancei mais um pouco. Consegui ter o error report.
Após dar echo json_encode($json_response); que é onde aparecia até a sexta coluna, coloco mais un código:
echo json_last_error();
Ele imprime um número q vai de 1~5
e aqui o guide:
0 = JSON_ERROR_NONE
1 = JSON_ERROR_DEPTH
2 = JSON_ERROR_STATE_MISMATCH
3 = JSON_ERROR_CTRL_CHAR
4 = JSON_ERROR_SYNTAX
5 = JSON_ERROR_UTF8
Para mim ele imprime o número 5.
Todas as minhas tabelas estão em ut8_general_ci.
Parece q está quase...
Dê um var_dump no array $json_encode (antes de usar a função json_encode()) e veja se há algum valor inválido.
Tente as soluções mostradas aqui:
http://stackoverflow.com/questions/10199017/how-to-solve-json-error-utf8-error-in-php-json-decode
Consegui fazer funcionar tirando todos os caracteres como o ex: íóããõ &
Esta me dando todos os resultados.
Se eu volto a inserir uma letra com acento da erro.
Alguma parte do seu sistema está usando codificação diferente de UTF-8. O ideal é você rever tudo isso, pra unificar tudo antes de ter mais problemas. Veja este meu post sobre isso: http://rberaldo.com.br/problemas-com-codificacao-acentos-nao-interpretados/
Você pode tentar usar utf8_encode e utf8_decode. Deve resolver esse problema pontual. Mas procure corrigir a codificação como um todo.
Vou olhar o seu post amanhã, obrigado.
Você conhece algum tutorial q me ensinaria a fazer o insert dinâmico sem refresh em ajax?
Você conhece algum tutorial q me ensinaria a fazer o insert dinâmico sem refresh em ajax?
Específico assim, não conheço.
Estude sobre Ajax, que vai esclarecer bastante. Se usar jQuery, ficará ainda mais fácil
Habilite todas as exibições de erro, como mostrado aqui. Teste de novo e veja se aparece algum erro no lugar da página em branco.