Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

renatagramos

[Resolvido] Preencher campo textarea

Recommended Posts

Olá!

 

Peguei este código do William Bruno e uso no meu sistema PHP perferitamente.

 

http://forum.imasters.com.br/topic/429336-dificuldade-com-select-preenchendo-inputs/page__p__1694590__fromsearch__1#entry1694590

 

Porém surgiu um problema: Quando o campo é um TEXTAREA e o texto pula linhas/parágrafos ele trava e fica só 'Carregando...'. Alguém sabe o motivo? E como resolver?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Já alterei o tipo do campo no MySQL para "longtext", mas não resolveu! Mesmo pq, o banco armazena o texto direitinho, pulando linhas e tal... o problema é no momento de 'resgatar' a informação.

 

Ajuda, por favor!!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Deve estar quebrando o jSON.

 

acesse o arquivo gerador do jSON diretamente, e analise a string retornada.

 

veja sobre a função json_encode();

Compartilhar este post


Link para o post
Compartilhar em outros sites

Deve estar quebrando o jSON.

 

acesse o arquivo gerador do jSON diretamente, e analise a string retornada.

 

veja sobre a função json_encode();

 

Oi, William.

 

Li sobre a função, mas não sei como corrigir o problema.

 

Estes são meus arquivos:

 

campo que mostra a informação:

<tr align="center">
<td colspan="6"><textarea name="vistoria_acompanha" cols="110" rows="15" id="vistoria_acompanha"></textarea></td>
</tr>

 

script_alterando.php

$(document).ready(function(){
	$("select[name='razao']").change(function(){
		$("input[name='vistoria_id']").val('Carregando...');
		$("input[name='vistoria_data']").val('Carregando...');
		$("select[name='vistoria_vendedor']").val('Carregando...');
		$("input[name='vistoria_cpfcnpj']").val('Carregando...');
		$("input[name='vistoria_razao']").val('Carregando...');
		$("select[name='vistoria_tipo']").val('Carregando...');
		$("input[name='vistoria_fantasia']").val('Carregando...');
		$("select[name='vistoria_tipo_edif']").val('Carregando...');
		$("input[name='cep']").val('Carregando...');
		$("input[name='rua']").val('Carregando...');
		$("input[name='vistoria_end_num']").val('Carregando...');
		$("input[name='bairro']").val('Carregando...');
		$("input[name='cidade']").val('Carregando...');
		$("input[name='uf']").val('Carregando...');
		$("input[name='vistoria_pais']").val('Carregando...');
		$("input[name='vistoria_contato1']").val('Carregando...');
		$("input[name='vistoria_funcao1']").val('Carregando...');
		$("input[name='vistoria_email1']").val('Carregando...');
		$("input[name='vistoria_tel_res1']").val('Carregando...');
		$("input[name='vistoria_tel_com1']").val('Carregando...');
		$("input[name='vistoria_tel_cel1']").val('Carregando...');
		$("textarea[name='vistoria_obs']").val('Carregando...');
		$("textarea[name='vistoria_acompanha']").val('Carregando...'); //É ESTE CAMPO!!

		$.getJSON(
			'function_altera.php',
			{vistoria_id: $(this).val()},
			function(data){
				$.each(data, function(i, obj){
		$("input[name='vistoria_id']").val(obj.vistoria_id);
		$("input[name='vistoria_data']").val(obj.vistoria_data);
		$("select[name='vistoria_vendedor']").val(obj.vistoria_vendedor);
		$("input[name='vistoria_cpfcnpj']").val(obj.vistoria_cpfcnpj);
		$("input[name='vistoria_razao']").val(obj.vistoria_razao);
		$("select[name='vistoria_tipo']").val(obj.vistoria_tipo);
		$("input[name='vistoria_fantasia']").val(obj.vistoria_fantasia);			
		$("select[name='vistoria_tipo_edif']").val(obj.vistoria_tipo_edif);
		$("input[name='cep']").val(obj.cep);
		$("input[name='rua']").val(obj.rua);
		$("input[name='vistoria_end_num']").val(obj.vistoria_end_num);
		$("input[name='bairro']").val(obj.bairro);
		$("input[name='cidade']").val(obj.cidade);
		$("input[name='uf']").val(obj.uf);
		$("input[name='vistoria_pais']").val(obj.vistoria_pais);
		$("input[name='vistoria_contato1']").val(obj.vistoria_contato1);
		$("input[name='vistoria_funcao1']").val(obj.vistoria_funcao1);
		$("input[name='vistoria_email1']").val(obj.vistoria_email1);
		$("input[name='vistoria_tel_res1']").val(obj.vistoria_tel_res1);
		$("input[name='vistoria_tel_com1']").val(obj.vistoria_tel_com1);
		$("input[name='vistoria_tel_cel1']").val(obj.vistoria_tel_cel1);
		$("textarea[name='vistoria_obs']").val(obj.vistoria_obs);
		$("textarea[name='vistoria_acompanha']").val(obj.vistoria_acompanha); //É ESTE CAMPO!!
				})
			});
	});
});

 

function_altera.php

<?php
include "../../config.php"; //inclui o arquivo de conexão

       /**
        * função que retorna o select
        */
       function montaSelect()
       {
               $sql = "SELECT * FROM siesa_vistoria ORDER BY vistoria_razao";
               $query = mysql_query( $sql );

               if( mysql_num_rows( $query ) > 0 )
               {
                       while( $dados = mysql_fetch_assoc( $query ) )
                       {
                               $opt .= '<option value="'.$dados['vistoria_id'].'">'.$dados['vistoria_razao'].' - '.$dados['vistoria_end'].', '.$dados['vistoria_end_num'].'</option>';
                       }
               }
               else
                       $opt = '<option value="0">Nenhuma vistoria cadastrada</option>';

               return $opt;
       }

       /**
        * função que devolve em formato JSON os dados do vistoria
        */
       function retorna( $id=null )
       {
               $id = (int)$id;

               $sql = "SELECT *, date_format(vistoria_data, '%d/%m/%y') as 'vistoria_data' FROM siesa_vistoria ";
               if( $id != null )
                       $sql .= "WHERE vistoria_id = {$id} ";
               $query = mysql_query( $sql );

               //$json = 'var dados = ';
               $json .= ' [';  
               if( mysql_num_rows( $query ) > 0 )
               {
                       while( $dados = mysql_fetch_assoc( $query ) )
                       {
                               $json .= "{
							vistoria_id: '{$dados['vistoria_id']}',
							vistoria_data: '{$dados['vistoria_data']}',
							vistoria_vendedor: '{$dados['vistoria_vendedor']}',
							vistoria_cpfcnpj: '{$dados['vistoria_cpfcnpj']}', 								
							vistoria_razao: '{$dados['vistoria_razao']}',
							vistoria_tipo: '{$dados['vistoria_tipo']}', 
							vistoria_fantasia: '{$dados['vistoria_fantasia']}',
							vistoria_tipo_edif: '{$dados['vistoria_tipo_edif']}', 
							cep: '{$dados['vistoria_cep']}', 
							rua: '{$dados['vistoria_end']}', 
							vistoria_end_num: '{$dados['vistoria_end_num']}', 
							bairro: '{$dados['vistoria_bairro']}', 
							cidade: '{$dados['vistoria_cidade']}', 
							uf: '{$dados['vistoria_uf']}', 
							vistoria_pais: '{$dados['vistoria_pais']}',
							vistoria_contato1: '{$dados['vistoria_contato1']}', 
							vistoria_funcao1: '{$dados['vistoria_funcao1']}', 
							vistoria_email1: '{$dados['vistoria_email1']}', 
							vistoria_tel_res1: '{$dados['vistoria_tel_res1']}', 
							vistoria_tel_com1: '{$dados['vistoria_tel_com1']}',
							vistoria_tel_cel1: '{$dados['vistoria_tel_cel1']}',
							vistoria_acompanha: '{$dados['vistoria_acompanha']}'						
							vistoria_obs: '{$dados['vistoria_obs']}'
							}";;
                       }
               }
               else
                       $json = 'vistoria_id: não encontrado';

               $json .= ']';
               //$jston .= ';';

               return $json;
       }


/* só se for enviado o parâmetro, que devolve o combo */
if( isset($_GET['vistoria_id']) )
{
       echo retorna( $_GET['vistoria_id'] );
}
?>

 

Está funcionando perfeitamente, exceto quando o texto do campo name="vistoria_acompanha" pula linha/parágrafo. Aí grava correto no banco, mas não retorna.

Compartilhar este post


Link para o post
Compartilhar em outros sites

seguinte então, acessa diretamente:

 

 

localhost/function_altera.php?vistoria_id=2

 

ai vai aparecer o jSON na tela pra você. Veja se não tem nenhum erro de sintaxe.

Se você tiver dúvidas, poste aqui. Acredito que a função utf8_encode() deva resolver.

 

Porém, não deixe de postar o jSON aqui.

 

ps: corrija(faltou uma virgula):

 vistoria_acompanha: '{$dados['vistoria_acompanha']}', //faltava essa virgula aqui                                     
vistoria_obs: '{$dados['vistoria_obs']}'

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fiz o teste com 2 cadastros.

 

Esse é o primeiro: localhost/function_altera.php?vistoria_id=1

 

Aparece o resultado normal:

[{ vistoria_id: '1', vistoria_data: '00/00/00', vistoria_vendedor: 'RENATA GUILHERME RAMOS', vistoria_cpfcnpj: '176.629.428-64', vistoria_razao: 'RENATA GUILHERME RAMOS', vistoria_tipo: 'PRIVADO', vistoria_fantasia: 'RE', vistoria_tipo_edif: 'COMERCIAL', cep: '02565-040', rua: 'RUA ARISTIDES JOFRE', vistoria_end_num: '140', bairro: 'CASA VERDE ALTA', cidade: 'SÃO PAULO', uf: 'SP', vistoria_pais: 'BRASIL', vistoria_contato1: 'RENATA', vistoria_funcao1: 'ANALISTA', vistoria_email1: '', vistoria_tel_res1: '(11)3966-3666', vistoria_tel_com1: '', vistoria_tel_cel1: '', vistoria_acompanha: 'Digite aqui o histórico da negociação.',	 vistoria_obs: 'OBS' }]

 

Esse é o segundo teste simulando o erro: localhost/function_altera.php?vistoria_id=2

 

Também aparece o resultado normal:

 

[{ vistoria_id: '2', vistoria_data: '17/07/20', vistoria_vendedor: 'RENATA GUILHERME RAMOS', vistoria_cpfcnpj: '03.729.363/0001-50', vistoria_razao: 'RENATA GUILHERME RAMOS', vistoria_tipo: 'PRIVADO', vistoria_fantasia: 'RE', vistoria_tipo_edif: 'COMERCIAL', cep: '02190-070', rua: 'RUA PEDRO TAQUES PIRES', vistoria_end_num: '0618', bairro: 'PARQUE NOVO MUNDO', cidade: 'SÃO PAULO', uf: 'SP', vistoria_pais: 'USA', vistoria_contato1: 'RENATA', vistoria_funcao1: 'ANALISTA', vistoria_email1: '', vistoria_tel_res1: '(11)3966-3666', vistoria_tel_com1: '', vistoria_tel_cel1: '', vistoria_acompanha: 'DIGITE AQUI O HISTÓRICO DA NEGOCIAÇÃO. TESTE TESTANDO',	 vistoria_obs: 'OBSERVACAO' }]

 

 

O campo vistoria_acompanha: 'DIGITE AQUI O HISTÓRICO DA NEGOCIAÇÃO. TESTE TESTANDO', foi gravado assim no banco:

 

DIGITE AQUI O HISTÓRICO DA NEGOCIAÇÃO.

 

TESTE

 

TESTANDO

 

 

Então não está mostrando o erro com essa busca.... só acontece mesmo na hora de preencher o campo no formulário.

Compartilhar este post


Link para o post
Compartilhar em outros sites

ta.. aparentemente está tudo certo com o jSON.

 

o caracter especial de quebra de linha, pode estar dando problema.

 

tenta assim:

 

 return utf8_encode( $json );

e testa lá na busca.

vê se dá erro ou não (se preenche corretamente e tal)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Coloquei, mas continua com o mesmo problema (não preenche, fica só 'Carregando...') e os outros que estava corretos agora aparecem caracteres especiais ... "Digite aqui o histórico da negociação."

Compartilhar este post


Link para o post
Compartilhar em outros sites

fiz um teste aqui com json_encode() e funcionou corretamente, veja ai:

 

 

		$arr = Array(); 
	if( mysql_num_rows( $query ) > 0 )
	{
		while( $dados = mysql_fetch_assoc( $query ) )
		{
			$arr['vistoria_id'] = $dados['vistoria_id']
			$arr['vistoria_data'] = $dados['vistoria_data'];
			$arr['vistoria_vendedor'] = $dados['vistoria_vendedor'];
			$arr['vistoria_cpfcnpj'] = $dados['vistoria_cpfcnpj'];
			$arr['vistoria_razao'] = $dados['vistoria_razao'];
			$arr['vistoria_tipo'] = $dados['vistoria_tipo']; 
			$arr['vistoria_fantasia'] = $dados['vistoria_fantasia'];
			$arr['vistoria_tipo_edif'] = $dados['vistoria_tipo_edif']; 
			$arr['cep'] = $dados['vistoria_cep']; 
			$arr['rua'] = $dados['vistoria_end']; 
			$arr['vistoria_end_num'] = $dados['vistoria_end_num']; 
			$arr['bairro'] = $dados['vistoria_bairro']; 
			$arr['cidade'] = $dados['vistoria_cidade']; 
			$arr['uf'] = $dados['vistoria_uf']; 
			$arr['vistoria_pais'] = $dados['vistoria_pais'];
			$arr['vistoria_contato1'] = $dados['vistoria_contato1']; 
			$arr['vistoria_funcao1'] = $dados['vistoria_funcao1']; 
			$arr['vistoria_email1'] = $dados['vistoria_email1']; 
			$arr['vistoria_tel_res1'] = $dados['vistoria_tel_res1']; 
			$arr['vistoria_tel_com1'] = $dados['vistoria_tel_com1'];
			$arr['vistoria_tel_cel1'] = $dados['vistoria_tel_cel1'];
			$arr['vistoria_acompanha'] = $dados['vistoria_acompanha'];
			$arr['vistoria_obs'] = $dados['vistoria_obs'];
		}
	}
	else
		$arr['vistoria_id'] = 'não encontrado';

	return json_encode( $arr );

Compartilhar este post


Link para o post
Compartilhar em outros sites

Aqui não funcionou, mas nem o montaSelect está aparecendo.

Acho que precisa alterar alguma coisa na parte do montaSelect.

 

<?php
include "../../config.php"; //inclui o arquivo de conexão

       /**
        * função que retorna o select
        */
       function montaSelect()
       {
               $sql = "SELECT * FROM siesa_vistoria ORDER BY vistoria_razao";
               $query = mysql_query( $sql );

               if( mysql_num_rows( $query ) > 0 )
               {
                       while( $dados = mysql_fetch_assoc( $query ) )
                       {
                               $opt .= '<option value="'.$dados['vistoria_id'].'">'.$dados['vistoria_razao'].' - '.$dados['vistoria_end'].', '.$dados['vistoria_end_num'].'</option>';
                       }
               }
               else
                       $opt = '<option value="0">Nenhuma vistoria cadastrada</option>';

               return $opt;
       }

       /**
        * função que devolve em formato JSON os dados do vistoria
        */
       function retorna( $id=null )
       {
               $id = (int)$id;

               $sql = "SELECT *, date_format(vistoria_data, '%d/%m/%y') as 'vistoria_data' FROM siesa_vistoria ";
               if( $id != null )
                       $sql .= "WHERE vistoria_id = {$id} ";
               $query = mysql_query( $sql );

$arr = Array(); 
               if( mysql_num_rows( $query ) > 0 )
               {
                       while( $dados = mysql_fetch_assoc( $query ) )
                       {
                               $arr['vistoria_id'] = $dados['vistoria_id']
                               $arr['vistoria_data'] = $dados['vistoria_data'];
                               $arr['vistoria_vendedor'] = $dados['vistoria_vendedor'];
                               $arr['vistoria_cpfcnpj'] = $dados['vistoria_cpfcnpj'];
                               $arr['vistoria_razao'] = $dados['vistoria_razao'];
                               $arr['vistoria_tipo'] = $dados['vistoria_tipo']; 
                               $arr['vistoria_fantasia'] = $dados['vistoria_fantasia'];
                               $arr['vistoria_tipo_edif'] = $dados['vistoria_tipo_edif']; 
                               $arr['cep'] = $dados['vistoria_cep']; 
                               $arr['rua'] = $dados['vistoria_end']; 
                               $arr['vistoria_end_num'] = $dados['vistoria_end_num']; 
                               $arr['bairro'] = $dados['vistoria_bairro']; 
                               $arr['cidade'] = $dados['vistoria_cidade']; 
                               $arr['uf'] = $dados['vistoria_uf']; 
                               $arr['vistoria_pais'] = $dados['vistoria_pais'];
                               $arr['vistoria_contato1'] = $dados['vistoria_contato1']; 
                               $arr['vistoria_funcao1'] = $dados['vistoria_funcao1']; 
                               $arr['vistoria_email1'] = $dados['vistoria_email1']; 
                               $arr['vistoria_tel_res1'] = $dados['vistoria_tel_res1']; 
                               $arr['vistoria_tel_com1'] = $dados['vistoria_tel_com1'];
                               $arr['vistoria_tel_cel1'] = $dados['vistoria_tel_cel1'];
                               $arr['vistoria_acompanha'] = $dados['vistoria_acompanha'];
                               $arr['vistoria_obs'] = $dados['vistoria_obs'];
                       }
               }
               else
                       $arr['vistoria_id'] = 'não encontrado';

               return json_encode( $arr );
       }


/* só se for enviado o parâmetro, que devolve o combo */
if( isset($_GET['vistoria_id']) )
{
       echo retorna( $_GET['vistoria_id'] );
}
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

[RESOLVIDO]

 

Até hoje não consegui resolver isso :(

 

Mas tentei da forma convencional, com consulta ao banco e preenchimento com variáveis e eu certo!

 

 

<?php
if($_GET['funcao'] == 'alterar'){
$coment_id = $_GET['coment_id'];

$comenta = mysql_query("SELECT * FROM comentarios WHERE coment_id = '$coment_id'");

while($linha = mysql_fetch_array($comenta)){
$coment_nome = $linha['coment_nome'];
$coment_mensagem = $linha['coment_mensagem'];

}
?>

<table align="left" border="0" cellpadding="5" cellspacing="5">

<tr>
<td>NOME</td>
<td><input bgcolor="#999999" type="text" name="coment_nome" id="coment_nome" value="<?php echo $coment_nome?>" size="40"></td>
</tr>

<tr>
<td>MENSAGEM</td>
<td><textarea bgcolor="#999999" name="coment_mensagem" id="coment_mensagem" cols="35" rows="5"><?php echo $coment_mensagem?></textarea></td>
</tr>

<tr>
<td colspan="2" align="center" border="0"><input bgcolor="#999999" type="submit" name="altera" id="altera" value="ALTERAR"></td>
</tr>

</table>

<?php
}
?>

 

Obrigada William e todos pela ajuda!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.