- Home
- Categorie
- Coding e Sistemistica
- Altri linguaggi per il web
- Prelevare un numero di parole dal database Access
-
Prelevare un numero di parole dal database Access
Ciao a tutti,
da quello che vado a scrivere si capisce che non sono molto pratico di asp.Il mio PROBLEMA è questo: ho un database in Access e una pagina in asp che ne preleva i dati.
Fino a qui non ci sono problemi, il problema nasce dal volere presentare solo un numero di parole di un record (il tipico articolo con il ...continua ).
Cosa devo scrivere per avere una "anteprima" del campo descrizione??
Questo è il codici che ho:
<%
var Sql = "SELECT * FROM articoli ORDER BY id DESC";
var Mostra = new ActiveXObject("ADODB.Recordset");
Mostra.Open(Sql,Cn,1);
var pag = parseInt(Request.QueryString("id"));
if (isNaN(pag) || pag < 1) pag = 1;
if (!Mostra.EOF) {
Mostra.PageSize = 3;
Mostra.AbsolutePage = pag;
}
var i = 0;%>
<!--ARTICOLI-->
<%while (!Mostra.EOF && i<3) {%><h2><b>
<%=Server.HTMLEncode(Mostra("titolo"))%></b><br>
<font color="#696969"><%=Server.HTMLEncode(Mostra("descrizione"))%>
</font>Grazie.
-
Usa la funzione substring(strainga, indice, lunghezza) dove indice è l'indice della lettera da cui partire (nel tuo caso 0)
-
Grazie per la risposta, ma non sono proprio pratico,
questa funzione come la devo inserire?Esempio: io ho questo codice che so che mi preleva il testo
dalla colonna "descrizione":<%=Server.HTMLEncode(Mostra("descrizione"))%>
La funzione substring la devo mettere così
<%=Server.HTMLEncode(Mostra(subtring("descrizione, 0, 100"))%>
Scusami l'ignoranza ma non sono un programmatore (e si vede)
-
no devi mettere
<%=Server.HTMLEncode(subtring(Mostra("descrizion e, 0, 100"))%>
-
Ciao e grazie per larisposta tempestiva,
ho inserito il codice ma ora mi da:Microsoft JScript compilation error '800a03ee'
Expected ')'
/index.asp, line 78Prima di inserire il codice ho corretto alcuni errori di battitura,
ti rinvio quello corretto:<%=Server.HTMLEncode(substring(Mostra("descrizione, 0, 100"))%>
-
<%=Server.HTMLEncode(substring(Mostra("descrizione , 0, 100")))%>
-
Ti stavo per riscrivere che avevo notato la parentesi
ma ora mi da:**ADODB.Recordset error '800a0cc1'
Item cannot be found in the collection corresponding to the requested name or ordinal.
/index.asp, line 78Grazie per l'infinita pazienza!!!
**
-
Lo spazio in descrizione è solo un errore del forum? Perchè non sembra tutto attaccato come dovrebbe essere
-
Si, il codice che ho inserito è:
<%=Server.HTMLEncode(substring(Mostra("descrizione, 0, 100")))%>
-
Scusa non avevo controllato il reto della funzone, ovviamente così non va...
<%=Server.HTMLEncode(substring(Mostra("descrizione") , 0, 100)))%>
-
Ho inserito il codice ma ho tolto una parentesi e mi da:
**Microsoft JScript runtime error '800a138f'
Object expected
/index.asp, line 78Con la parentesi in più mi da:
**
Microsoft JScript compilation error '800a03ec'
Expected ';'
/index.asp, line 78
Response.Write(Server.HTMLEncode(substring(Mostra("descrizione"), 0, 100))))
---------------------------------------------------------------------------^**
**
-
fai cosi:
Response.Write Left(Mostra("descrizione"),100)
cosi ti scrive i prinmi 100 caratteri...
-
Grazie per l'aiuto ma mi da questo errore:
Microsoft JScript runtime error '800a138f'
Object expected
/index.asp, line 83
-
potresti postare il codice completo cosi possiamo aiutarti e capire dov è l errore?
-
Riporto di seguito il codice completo:
<%@LANGUAGE = JScript%>
<%
var Cn = new ActiveXObject("ADODB.Connection");
var Sc = "driver={Microsoft Access Driver (*.mdb)};dbq=" + Server.MapPath("/mdb-database/csi.mdb");
Cn.Open(Sc);%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" ".w3.org/TR/html4/loose.dtd"><html>
<body leftmargin="0" marginheight="0" marginwidth="0" topmargin="0"><%
var Sql = "SELECT * FROM case ORDER BY id DESC";
var Mostra = new ActiveXObject("ADODB.Recordset");
Mostra.Open(Sql,Cn,1);var pag = parseInt(Request.QueryString("id"));
if (isNaN(pag) || pag < 1) pag = 1;
if (!Mostra.EOF) {
Mostra.PageSize = 3;
Mostra.AbsolutePage = pag;
}
var i = 0;%><!--ARTICOLI--><%while (!Mostra.EOF && i<3) {%>
<tr height="72"> <td valign="top" width="140" height="72"><img src='../public/immagini_articoli/<%=Server.HTMLEncode(Mostra("foto"))%>' alt="foto anteprima" height="102" width="140" border="0"></td> <td valign="top" height="72"> <h2><b><%=Server.HTMLEncode(Mostra("titolo"))%></b><br> <br>
<%=Server.HTMLEncode(substring(Mostra("descrizione") , 0, 100))%>
<br> <a href='articoli.asp?id=<%=Mostra("id")%>'>Continua >></a></h2> </td> </tr> <tr height="20"> <td colspan="2" valign="top" height="20"></td> </tr> <% i++; Mostra.Movenext(); } %> </table>
-
ciao, prova così:
[PHP]
<%
var Cn = new ActiveXObject("ADODB.Connection");
var Sc = "driver={Microsoft Access Driver (*.mdb)};dbq=" + Server.MapPath("/mdb-database/csi.mdb");
Cn.Open(Sc);%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" ".w3.org/TR/html4/loose.dtd"><html>
<body leftmargin="0" marginheight="0" marginwidth="0" topmargin="0"><%
var Sql = "SELECT * FROM case ORDER BY id DESC";
var Mostra = new ActiveXObject("ADODB.Recordset");
Mostra.Open(Sql,Cn,1);var pag = parseInt(Request.QueryString("id"));
if (isNaN(pag) || pag < 1) pag = 1;
if (!Mostra.EOF) {
Mostra.PageSize = 3;
Mostra.AbsolutePage = pag;
}
var i = 0;%><!--ARTICOLI--><%while (!Mostra.EOF && i<3) {%>
<tr height="72">
<td valign="top" width="140" height="72"><img src='../public/immagini_articoli/<%=Mostra("foto")%>' alt="foto anteprima" height="102" width="140" border="0"></td>
<td valign="top" height="72">
<h2><b><%=Mostra("titolo")%></b><br>
<br><%=Left(Mostra("descrizione"),100)%>
<br>
<a href='articoli.asp?id=<%=Mostra("id")%>'>Continua >></a></h2>
</td>
</tr>
<tr height="20">
<td colspan="2" valign="top" height="20"></td>
</tr>
<%
i++;
Mostra.Movenext();}
%>
</table>
[/PHP]
-
Questo è l'errore che mi da:
Microsoft JScript runtime error '800a138f'
Object expected
/index.asp, line 86
La linea 86 è <%=Left(Mostra("descrizione"),100)%>
Sto iniziando a perdere ogni speranza...
-
sicuramente Mostra("descrizione") è vuoto o inesistente...è li l'errore
-
Il campo descrizione esiste ed è più lungo di 100 caratteri,
lo conferma il fatto che se lo richiamo con questo
<%=Server.HTMLEncode(Mostra("descrizione"))%>
mi appare tutto il testo contenuto nel database senza
ombra di errori.
A questo punto qualcuno sa consigliarmi uno strumento
ex-novo per mostrare in una pagina il contenuto di
un database con i campi Titolo, foto e descrizione (con il discorso che abbiamo fatto fin'ora).Fino ad ora ho utilizzato quei codici perchè sono gli unici che conosco
e che ho preso da un vecchio tutorial e che mi funzionano,
ma se potete consigliarmi qualcosa di migliore va bene ugualmente.Grazie