Ir para conteúdo

POWERED BY:

Arquivado

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

lifenetwork

Preciso pegar uma parte de um texto que esta no banco de dados

Recommended Posts

Boa noite,

 

Preciso de ajuda, tenho um banco de dados Access onde gravo um texto, gostaria de pegar 100 caracteres deste texto e visualiza-lo no meu site com ... no fim dos 100 caracteres.

 

Ex :

 

Na ultima sexta-feira (19), o TJSP (Tribunal de Justiça de São Paulo) revogou uma decisão que condenava a TV Bandeirantes ...

 

Alguém pode me ajudar...

 

Obrigado

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá, veja se te ajuda..

 

Function Previa(vstrTexto, TAMANHO)
	Dim strPrevia
		if Len(vstrTexto) > TAMANHO Then
			strPrevia = Mid(vstrTexto, 1, TAMANHO)
			strPrevia = Mid(strPrevia, 1, InStrRev(strPrevia, " ") - 1) & "..."
		Else
			strPrevia = vstrTexto
		End If
	Previa = strPrevia
End Function

Para chamar a função:

Previa(seutexto,100)

sds

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom dia,

 

Pode fazer assim tb:

 

Dim vX
Function resumindo(txt,vCrt)
   vX = Mid(txt, 1, vCrt)
   if NOT Len(txt) <= vCrt then
   resumindo = vX 
   else
   resumindo = vX & "..."
   end if
end function

 

E aqui vc chama a função com o texto que quer resumir:

 

<%=(resumindo(Sua_Variavel("Seu_Texto"),100))%>

 

Ou seja, ele irá mostrar seu texto, e após os 100 caracteres, ele irá inserir os três pontinhos ...

 

Caso queira alterar a quantidade de caracteres, basta trocar o número 100 port outro valor desejado.

 

Espero ter ajudo.

 

Att,

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tem um tópico que criei com várias funções para manipular texto, dá uma procurada tem uma que serve exatamente para isto.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá ifenetwork, veja se alguns desses exemplos te ajudam.

 

Qualquer dúvida poste ae.

 

Att,

Compartilhar este post


Link para o post
Compartilhar em outros sites

olha esta função para exibir somente parte de um texto

 

    <HTML>
    <HEAD>
    <TITLE> .:: ExibindoPartetexto ::.</TITLE>
    <META NAME="Generator" CONTENT="EditPlus">
    <META NAME="Author" CONTENT="Wellington Marinheiro">
    </HEAD>
    <BODY>
    <%
    function tamTexto(texto, y)
    if len(trim(texto)) > y Then 'Só executa se o texto for maior que o tamanho determinado
    Aux = mid(texto, 1, y) 'Pega a parte do texto do tamanho que voce determinou na chamada da função...
    Aux = Aux & " ..." 'Acrescenta as reticências
    else
    Aux = texto 'Exibe o texto sem cortes
    end if
    tamTexto = Aux 'Passa o valor para a função.
    end function
     
    texto="um complemento cria uma grade sobre qualquer site, permitindo uma boa visualização sobre o posicionamento dos elementos que o compõe..."
     
    response.write "Texto original: " & texto & "<br>"
    response.write "Tamanho do texto: " & len(trim(texto)) & "<br>"
     
    response.write "<BR>Texto a ser exibido pela função<HR>" & tamTexto(texto,30) & "<HR>"
     
     
    %>
    </BODY>
    </HTML>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom dia amigos

 

Testei todos os scripts postados mas tive alguns problemas relacionados abaixo...

 

Meu sistema de cadastro quando acessado ele acessa uma página com o campo de texto do FCKEDITOR quando inserido no banco de dados ele leva as informações ja formatadas em HTML.

 

Quando eu chamo a funcao para ela carregar parte da reclamação inserida no banco o mesmo fica em branco e desconfigura minha tabela.

 

Quando vou no banco e coloca exemplo : aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa sem formatação alguma ele até busca porem se eu colocar para exibir 100 caracteres ele coloca ... se eu mudar para 50 ele para de mostrar o ...

 

Meu sistema fiz assim :

 

Criei uma tabela onde tem os campos

 

Codigo : Assunto :

Titulo :

Status da reclamação :

Reclamacao : ( aqui entra a funcao )

 

na página lista_reclamcoes.asp eu dei um loop para para ele mostrar as reclamaçoes cadastradas por ordem de data ai o sindico escolhe o que ele quer ver e ao clicar mostra uma segunda página com o texto completo, esta funcao de 50 caracteres é para da uma prévia do problema ali ele determina as prioridades...

Compartilhar este post


Link para o post
Compartilhar em outros sites

joque o texto em uma variavel e depois usa a função que postei alterando para 50 char

Compartilhar este post


Link para o post
Compartilhar em outros sites

Me perdoe estou aprendendo agora mas como faria isso ?

 

Como coloco o resultado do Select aplicado no banco dentro desta variável para depois vizualiza-la?

 

Obrigado

 

Eu fiz assim até funcionou em partes o código HTML inserio no banco de dados via FCK Editor não recuperou ficou em branco o local que deveria aparecer porém o que eu digitei normal apareceu,

 

<%
function tamTexto(texto, y)
if len(trim(texto)) > y Then 'Só executa se o texto for maior que o tamanho determinado
Aux = mid(texto, 1, y) 'Pega a parte do texto do tamanho que voce determinou na chamada da função...
Aux = Aux & " ..." 'Acrescenta as reticências
else
Aux = texto 'Exibe o texto sem cortes
end if
tamTexto = Aux 'Passa o valor para a função.
end function
%>
Abaixo coloquei este código para mostrar o conteudo do campo reclamacao
<%=(TamTexto(RS("reclamacao"),60))%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá lifenetwork,

 

Segue mastigadinho, veja se ajuda.

 

Este exemplo, é para a exibição do texto, contando que sua parte de inserir ou gravar já esteja legal ok?

 

 

<%
Dim vX
Function resumindo(txt,vCrt)
   vX = Mid(txt, 1, vCrt)
   if NOT Len(txt) <= vCrt then
   resumindo = vX 
   else
   resumindo = vX & "..."
   end if
end function
%>

 

<%
Dim SQL,listar_reclamacao 

SQL="SELECT * FROM NOMEdaTABELA ORDER BY id"

Set listar_reclamacao = dados.Execute(SQL)
      
	  If listar_reclamacao.EOF = False Then   
%>

<%=(resumindo(listar_reclamacao("reclamacao"),60))%>

<%
else 
	
Response.Write "Texto ainda não cadastrado."		

end if
%>

<%
listar_reclamacao.Close
set listar_reclamacao = Nothing
%>

 

Agora basta adaptar a seu modo e gosto.

 

Espero que ajude.

 

Att

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

Me perdoe estou aprendendo agora mas como faria isso ?

 

Como coloco o resultado do Select aplicado no banco dentro desta variável para depois vizualiza-la?

 

Obrigado

 

Eu fiz assim até funcionou em partes o código HTML inserio no banco de dados via FCK Editor não recuperou ficou em branco o local que deveria aparecer porém o que eu digitei normal apareceu,

 

<%
function tamTexto(texto, y)
if len(trim(texto)) > y Then 'Só executa se o texto for maior que o tamanho determinado
Aux = mid(texto, 1, y) 'Pega a parte do texto do tamanho que voce determinou na chamada da função...
Aux = Aux & " ..." 'Acrescenta as reticências
else
Aux = texto 'Exibe o texto sem cortes
end if
tamTexto = Aux 'Passa o valor para a função.
end function
%>
Abaixo coloquei este código para mostrar o conteudo do campo reclamacao
<%=(TamTexto(RS("reclamacao"),60))%>

 

Então fiz a adaptação e quando fui executar deu o erro abaixo..

 

Erro de tempo de execução do Microsoft VBScript error '800a01a8'

Objeto necessário: 'dados'

/adm/teste3.asp, line 20

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá lifenetwork,

 

Esse erro é porque está diferente com o arquivo de sua conexao.

 

Vc deve trocar "dados" pelo nome que está usando no seu arquivo de conexao, ou vise-versa.

 

Qualquer problema, poste sua conexao ae.

 

Abraços.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá lifenetwork,

 

Esse erro é porque está diferente com o arquivo de sua conexao.

 

Vc deve trocar "dados" pelo nome que está usando no seu arquivo de conexao, ou vise-versa.

 

Qualquer problema, poste sua conexao ae.

 

Abraços.

 

 

Boa Tarde

 

Segue abaixo a conexão que uso para todas as páginas

 

<%set conn=server.createobject("adodb.connection")'Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _'"Data Source=c:\domains\site\db\bdfjb.mdb;"conn.open "bdcondo"%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá lifenetwork,

 

Troque isso:

 

<%
set conn=server.createobject("adodb.connection")
'Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
'"Data Source=c:\domains\site\db\bdfjb.mdb;"
conn.open "bdcondo"
%>

Por esse:

 

<%
set conn=server.createobject("adodb.connection")
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=c:\domains\site\db\bdfjb.mdb;"
conn.open "bdcondo"
%>

 

E Substitua "dados.Execute(SQL)" por "bdcondo.Execute(SQL)"

 

E faça os teste novamente.

 

Att,

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fiz o falado coloquei o caminho do banco dentro arquivo e a mensagem de erro dada agora é

 

ADODB.Connection error '800a0e79'

Operação não permitida quando o objeto está aberto.

/adm/abre_bd.asp, line 5

 

da forma que esta ele funciona buscando somente letras ou numeros porem se dentro do banco na tabela especificar estiver um codigo HTML enviado pelo FCK Editor ele não faz a leitura ele fica em branco o local

Compartilhar este post


Link para o post
Compartilhar em outros sites

qual a linha 5 ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

No arquivo abre_bd.asp esta assim :

 


<%
set conn=server.createobject("adodb.connection")
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=C:\Users\Windows\Documents\My Web Sites\condo\db\dbcondo.mdb;"
'conn.open "dbcondo"
%>
A Função esta assim :
<%
Dim vX
Function resumindo(txt,vCrt)
vX = Mid(txt, 1, vCrt)
if NOT Len(txt) <= vCrt then
resumindo = vX
else
resumindo = vX & "..."
end if
end function
%>
<% Dim SQL,listar_reclamacao SQL="SELECT * FROM NOMEdaTABELA ORDER BY id" Set listar_reclamacao = bdcondo.Execute(SQL)            If listar_reclamacao.EOF = False Then %> <%=(resumindo(listar_reclamacao("reclamacao"),60))%> <% else Response.Write "Texto ainda não cadastrado." end if %><% listar_reclamacao.Close set listar_reclamacao = Nothing %>

O erro que esta dando é

 

Erro de tempo de execução do Microsoft VBScript error '800a01a8'

Objeto necessário: ''

/adm/lista_reclamacao_teste.asp, line 54

 

 

o Erro esta dando nesta linha ---> Set listar_reclamacao = bdcondo.Execute(SQL)

 

O sistema ainda esta rodando local através do WebMATRIX

 

testei todos os scripts postados e todos funcionam o problema é que o FCK Editor Grava no banco o campo reclamação da seguinte forma :

 

<p style="margin: 0px 0px 20px; padding: 0px; border: 0px; font-family: Arial; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; line-height: 24px; vertical-align: baseline; color: rgb(51, 51, 51); letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255);">
<b>Ratinho atravessa um dos seus melhores momentos no SBT</b>, mesmo em
concorrência direta com a principal <font color="#FF0000">novela da Globo</font>.
E não existem muito menos motivos para se queixar de qualquer coisa.</p>
<p style="margin: 0px 0px 20px; padding: 0px; border: 0px; font-family: Arial; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; line-height: 24px; vertical-align: baseline; color: rgb(51, 51, 51); letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255);">
O programa, sob contrato de parceria, que muitos colocaram em dúvida, acabou
dando certo. Internamente, dizem, Ratinho nunca ganhou tanto dinheiro como
agora.</p>
<p style="margin: 0px 0px 20px; padding: 0px; border: 0px; font-family: Arial; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; line-height: 24px; vertical-align: baseline; color: rgb(51, 51, 51); letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255);">
<em style="margin: 0px; padding: 0px; border: 0px; font-family: inherit; font-size: inherit; font-style: italic; font-variant: inherit; font-weight: inherit; line-height: inherit; vertical-align: baseline;">
* Colaboração de José Carlos Nery</em></p>

Quando se abre o sistema ele vai mostrar em uma tela inicial preciso que ele mostre tipo 60 caracteres que seria uma pequena visualização do texto e caso ele queira ver na integra ele clica.

 

Só que não estou conseguindo fazer com que ele busque e jogue na tela esta informação do banco.

 

Obrigado pelo ajuda gente...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vc está deixando parte de sua conexao como COMENTARIO, por isso não funciona mesmo.

 

'conn.open "dbcondo"

Deixe ela assim:

 

conn.open "dbcondo"

 

Tb aqui

SQL="SELECT * FROM NOMEdaTABELA ORDER BY id"

 

O NOMEdaTABELA é apenas um exemplo, vc deve por de fato o nome da Tabela de sua Base de Dados onde está o Campo "reclamacao"

 

Abraços,

Compartilhar este post


Link para o post
Compartilhar em outros sites

Me desculpa é que copiei e colei ja esta da forma que você postou e mesmo assim o erro continua o erro

 

Erro de tempo de execução do Microsoft VBScript error '800a01a8'

Objeto necessário: ''

/adm/lista_reclamacao_teste.asp, line 55

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.