Jump to content


Photo

Problemas Com Pontos Automaticos


  • Faça o login para participar
4 replies to this topic

#1 cascais51

cascais51

    Novato no fórum

  • Usuários
  • 4 posts
  • Sexo:Masculino
  • Localidade:Jequié-BA

Posted 25/02/2010, 00:15

Olá pessoal, passei horas e horas tentando procurando jeito mas nenhum deu 100% certo.
Um colega de São Paulo abraçou a causa e também tentou ajudar, porém também não conseguiu.

Vamos lá..

Preciso imprimir o seguintes dados na estrutura q abaixo

EX. 1:
Nome
Endereço ........... TELEFONE
Nome
Endereço ........... TELEFONE
Nome
Endereço ........... TELEFONE


essas dados vão ser usados em sistemas mas também vão ser usados para impressão em oficio com tres colunas...
ai preciso que o telefone esteja alinhado a direito como no exemplo, para colocar os pontos automaticos em uma linha é moleza, consegui fazer em javascript. O problema é que quando o endereço for grande ele vai quebrar para segunda linha... e ai entra o problema, Como colocar os pontinhos se o endereço tiver duas linhas??

lembrando que no banco de dados eu chamo as variaveis:

$nome, $endereço e $telefone

os dados estão dentro de um DIV com 230px de largura e altura automatica.. pois ele só não pode passar na largura...

EX. 2:

Carlos Eduardo do Santos
Rua carlos drumount, 185 -
Vila Nova ............................ 3525-5454

Maria Antonieta dos Santos
Rua E, 186 Jequiezinho .... 3524-8549

Claudio SAntos Couto
Av. Cidade Nova, 257 -
Centro ................................ 3527-5487



será possivel q esses potinhos entre automaticamente de acordo com o espaço que fica falntando para ser preenchido??

fiz uns calculos muito malucos em javascript e PHP, mas esse só funcionou se o endereço só ocupar uma linha dentro do DIV:

<?php
$endereco = "Rua Laudelino Braga";

?>


<div class=grande id="teste1">Sergio Cascais<br />
&nbsp;&nbsp;<div id="teste2" style="float:left"><?php echo $endereco; ?></div>


<div style="float:left"> <script type="text/javascript" language="javascript">

$largura = document.getElementById('teste2').offsetWidth;
$altura = document.getElementById('teste2').offsetHeight;
$quant1 = <?php $quant = strlen($data); echo $quant; ?>;
$ponto = 4;
quantpontos = 230-$largura;
if($altura<24 && $largura<149){
	for($x=$largura;$x<149;$x++){
		$x=$x+3;
		document.write(".");
	}
}
if($altura>24 && $largura<149){
	for($x=$largura;$x<149;$x++){
		$x=$x+3;
		document.write(".");
	}
} 
</script>
  </div>

<div style="float:left"> 3527-7098</div></div>

Impressão:

Sergio Cascais
Rua Laudelino Braga ......3527-7098


SERÁ POSIVEL FAZER ISSO?? procurei varias resposta e não achei...
Lembrando esses pontinho que sepaaram endereço do telfone tem que ser automaticos de acordo com o espaço que sobra entre endereço e telefone para ficar organizado..

ESPERO QUE ALGUEM AJUDEM. ISSO JA ME DEIXOU MALUCO...
Sergio Cascais

#2 Renan Fernandes

Renan Fernandes

    12 Horas

  • Usuários
  • 179 posts
  • Sexo:Masculino
  • Localidade:Rio de Janeiro
  • Interesses:Tudo relacionado a webmaster, webdesign e programação.

Posted 25/02/2010, 09:48

Olá.

Você pode usar a função substr pra isso.

Exemplo:
$endereco = 'Rua Laurindo Tavares da Silva Gomes de Assis.';
$quebrado = substr($endereco,0,10);
echo $quebrado.'........';

Isto devará imprimir Rua Laurin........ .

Ela irá copiar os caracteres de 0 a 10 da variável $endereco e em seguida exibir concatenando os pontos. Aí, você ajusta o tamanho da variável ao seu gosto.

Abraços.

Edição feita por: Renan Fernandes, 25/02/2010, 09:48.

Não existe vento favorável quando não se sabe onde quer chegar.


Dicas Digitais

#3 cascais51

cascais51

    Novato no fórum

  • Usuários
  • 4 posts
  • Sexo:Masculino
  • Localidade:Jequié-BA

Posted 25/02/2010, 11:38

Olá.

Você pode usar a função substr pra isso.

Exemplo:

$endereco = 'Rua Laurindo Tavares da Silva Gomes de Assis.';
$quebrado = substr($endereco,0,10);
echo $quebrado.'........';

Isto devará imprimir Rua Laurin........ .

Ela irá copiar os caracteres de 0 a 10 da variável $endereco e em seguida exibir concatenando os pontos. Aí, você ajusta o tamanho da variável ao seu gosto.

Abraços.



Não é isso que eu quero, isso seria moleza, o endereço tem que aparecer completo... e os pontos que tem que se ajustar ao espaço que falta entra o final do endereço e o numero do telefone..

me deram a idéia de fazer com <table> mas não conseguir imaginar como, se o DIV pudesse ficar numa linhas logo após o texto. com tamanho definido conseguiria, mas pra um DIV ter tamanho definido ele passa pra linha de baixo. não fica na mesma linha q o texto...
Sergio Cascais

#4 MBA

MBA

    24 Horas

  • Usuários
  • 412 posts
  • Sexo:Masculino
  • Localidade:Belo Horizonte
  • Interesses:Desenvolvimento WEB

Posted 25/02/2010, 12:05

Amigo, boa tarde.
Tudo bom?

Tente pelo css.
border-bottom : 1px dotted black;

Assim você pode fazer com um div de tamanho relativo...
Alinhe o nome à esquerda, o telefone à direita e o div pontilhado no meio com o tamanho que sobrar...

Se der certo, depois poste o código para a moçada...

Abraços e até a próxima.

Mateus Antunes
Mateus Antunes
MBASistemas

#5 cascais51

cascais51

    Novato no fórum

  • Usuários
  • 4 posts
  • Sexo:Masculino
  • Localidade:Jequié-BA

Posted 25/02/2010, 16:22

Amigo, boa tarde.
Tudo bom?

Tente pelo css.
border-bottom : 1px dotted black;

Assim você pode fazer com um div de tamanho relativo...
Alinhe o nome à esquerda, o telefone à direita e o div pontilhado no meio com o tamanho que sobrar...

Se der certo, depois poste o código para a moçada...

Abraços e até a próxima.

Mateus Antunes



O MATEUS, MAS DO JEITO QUE VOCÊ FALOU SERIA COLOCAR ENDEREÇO EM UM DIV E O TELEFONE EN OUTRO??
PQ SE FOR ISSO COM UM DIV COM OS PONTINHOS NO MEOI NÃO VAI DAR CERTO.. PQ OS PONTINHO TEM Q COMÇAR ONDE O ENDEREÇO COMEÇA

TIPO:

Sergio Cascais
Rua Fulando de Tal, 146 -
Centro ................ 3527-7041


olha ai onde começa os pontos e cada endereço é de um tamanho...
se eu colocar um div depois do endereço.. e tentar colocar tamanho ele vai passar pra linha de baixo.. de qualquer forme ele passa pra linha de baixo.. ele não fico logo após o texzt na mesma linha não..
se tiver uma forma de ficar na mesma linha uma caixa qualquer CSS q eu limitar a largura
o calculo eu sei fazer... só falta uma forma de colocar um tipo d DIV seguido logo após o endereço na mesma linha..
Sergio Cascais




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq