Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    156

    problema con len e con left

    Ho inserito in un sito una funzione che i permette di visualizzare solo i primi 500 caratteri di una notizia.

    ho la condizione che se i caratteri sono meno di 500 deve scriverli tutti mentre in caso contrario scrive solo i primi 500 e poi va alla pagina del dettaglio.

    solo che quando processo la lunghezza del campo dopo non rime lo visualizza.

    il codice è questo:
    codice:
    	
    <%
    strsql = "SELECT * FROM info WHERE info_pub = 'S' ORDER by id_info DESC"
    Set rs = Server.CreateObject("ADODB.Recordset") 
    Set rs = Conn.Execute(strsql)
    	
    	if not rs.eof then
    	while not rs.eof
    		if not rs.eof then
                            if len(rs("info_txt")) < 500 then
                            %>
    				<%=rs("info_txt")%>
    			<%	
                                else					
                            %>
    				<%=left(rs("info_txt"),500)%>
    			<%	
                                end if					
    		rs.movenext
    		end if
    	wend
    	else
    	end if
    %>
    dove sbaglio??

    il bello è che lo stesso codice lo uso in un altro sito e funziona

  2. #2
    Scusami ma non ho capito qual'è il problema.

    Il codice che hai scritto comunque è un po' pasticciato, e poi invece di accedere al recordset ogni volta dovresti usare una variabile.
    Comunque il test sulla lunghezza così com'è te lo puoi anche evitare, se la stringa è più corta del limite che ti interessa, semplicemente left te la ritornerà tutta.

    codice:
    while not rs.eof
    	Response.Write(Left(rs("info_txt"),500))
    	rs.movenext
    wend
    xxx

  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    156
    allora il codice che ho riportato in realtà è un pò più lungo perchè oltre al testo devo riportarmi altre cose quindi qui l'ho ridotto solo alla parte che interessa.

    il problema è:

    il conteggio dei caratteri lo effettua come si deve, infatti provo in questo modo

    se il testo è inferiore a 500 caratteri gli faccio scrivere "ciao" altrimenti gli faccio scrivere "ciao ciao"

    se faccio questa prova funziona ciò che non funziona è la visualizzazione del campo info_txt

    in sostanza conta i caratteri del campo ma poi dove dovrebbe uscire visualizzato il testo che estraggo, esce lo spazio bianco e se vado a vedere nel codice html generato il testo non viene propio preso in cosiderazione

    spero di essere stato un pò più chiaro ora

  4. #4
    il database è di tipo...?
    info_txt è di tipo...?

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.