Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13

Discussione: Aiuto per un novizio

  1. #1

    Aiuto per un novizio

    Ciao a tutti sono un nuovo utente e sto iniziando a studiare il linguaggio asp.
    Ho un piccolo grande problema che mi tormenta e che non so come risolvere.
    Ho creato un db con una tabella di nome news e dentro ci sono due campi
    titolo e descrizione.
    Ora l'inserimento nel database funziona perfettamente, cosi come la lettura dei dati, ma qua salta fuori il problema.
    Io nella pagina di visualizzazione dei dati inseriti nel db vorrei solo far vedere il titolo della news, e ci sono riuscito, poi cliccando sul titolo vorrei che si leggesse tutta la news ma non riesco a farlo.
    vi posto il codice cosi mi dite voi come fare.
    Grazie anticipatamente

    <%@LANGUAGE = VBScript%>
    <%
    ' DEFINISCO LE VARIABILI CHE MI SERVONO PER L'APPLICAZIONE
    Dim sc, cn, rs, quanti, pag, contatore

    ' DEFINISCO LA STRINGA DI CONNESSIONE
    sc = ""
    sc = sc & "driver={Microsoft Access Driver (*.mdb)};dbq="
    sc = sc & Server.MapPath("/mdb-database/miodb.mdb")

    ' IMPOSTO LA CONNESSIONE EDIL RECORDSET
    Set cn = Server.CreateObject("ADODB.Connection")
    Set rs = Server.CreateObject("ADODB.Recordset")

    ' APRO LA CONNESSIONE COL DATABASE
    cn.Open sc

    ' DEFINISCO IL NUMERO DI RECORD DA VISUALIZZARE PER OGNI PAGINA
    quanti = 5

    ' RECUPERO IL NUMERO DI PAGINA CORRENTE
    ' E CONTROLLO CHE NON SIA INFERIORE A 1
    pag = Request.QueryString("pag")
    If IsNumeric(pag) = False Or pag < 1 Then pag = 1

    ' IMPOSTO UN CONTATORE
    contatore = 0
    %>

    <div align="center">

    <table width="300" border="0" cellspacing="0" cellpadding="0">
    <%
    ' APRO IL RECORDSET
    rs.Open "SELECT titolo FROM news ORDER BY id ASC", cn, 1
    ' EFFETTUO MATERIALMENTE LA PAGINAZIONE
    rs.PageSize = quanti
    rs.AbsolutePage = pag
    ' ESEGUO IL CICLO
    While rs.EOF = False And contatore < quanti
    %>
    <tr><td><font size="2" face="Tahoma"><%=rs("titolo")%></font></td></tr>
    <%
    rs.MoveNext
    ' INCREMENTO IL VALORE DEL CONTATORE
    contatore = contatore + 1
    Wend
    %>
    </table>

    </div>

    </body>
    </html>
    <%
    ' UN PO DI PULIZIA...
    rs.Close
    Set rs = Nothing
    cn.Close
    Set cn = Nothing
    %>

  2. #2
    potresti sostituire questa riga:
    <tr><td><font size="2" face="Tahoma"><%=rs("titolo")%></font></td></tr>

    in:
    <tr><td><font size="2" face="Tahoma"><a href "show_news.asp?titolo=<%=rs("titolo")%> > <%=rs("titolo")%></a></font></td></tr>

    In modo che tu possa chiamare una pagina asp al quale passi in input
    una variabile chiamata titolo che utilzzerai per farti la query
    di select sul tuo db mettendo where titolo = response.querystring(titolo)

  3. #3
    Ciao inanziatutto grazie per la risposta.
    Mi spiego meglio il il titolo della news lo vedo perfettamente, pero vorrei creare un collegamento tra il titolo della news ed il suo contenuto.
    In pratica cliccando sul titolo si dovrebbe aprire la news vera e propria.
    Potresti farmi un esempio perche la tua risposta per me e arabo specie la parte relativa al database.
    Grazie anticipatamente

  4. #4
    Utente di HTML.it L'avatar di albis
    Registrato dal
    May 2002
    Messaggi
    912
    modifica il codice così
    <%
    ' APRO IL RECORDSET
    rs.Open "SELECT titolo FROM news ORDER BY id ASC", cn, 1
    ' EFFETTUO MATERIALMENTE LA PAGINAZIONE
    rs.PageSize = quanti
    rs.AbsolutePage = pag
    ' ESEGUO IL CICLO
    While rs.EOF = False And contatore < quanti
    %>
    <tr><td><font size="2" face="Tahoma">"><%=rs("titolo")%></font></td></tr>
    <%
    rs.MoveNext
    ' INCREMENTO IL VALORE DEL CONTATORE
    contatore = contatore + 1
    Wend
    %>
    e poi crea la pagina del dettaglio della news dove scriverai qualcosa del tipo

    <%@LANGUAGE = VBScript%>
    <%
    ' APRO IL RECORDSET
    rs.Open "SELECT titolo FROM news where CampoIdRecord =" & Request.QueryString("IdNews"), cn, 1
    ' EFFETTUO MATERIALMENTE LA PAGINAZIONE
    rs.PageSize = quanti
    rs.AbsolutePage = pag
    ' ESEGUO IL CICLO
    if rs.EOF = False then
    %>
    <%=rs("titolo")%>"><%=rs("titolo")%>

    <%end if%>
    Forza la magica ROMA

  5. #5
    Originariamente inviato da newbie2
    Ciao inanziatutto grazie per la risposta.
    Mi spiego meglio il il titolo della news lo vedo perfettamente, pero vorrei creare un collegamento tra il titolo della news ed il suo contenuto.
    In pratica cliccando sul titolo si dovrebbe aprire la news vera e propria.
    Potresti farmi un esempio perche la tua risposta per me e arabo specie la parte relativa al database.
    Grazie anticipatamente
    Si, avevo capito che volevi fare cosi.
    infatti sostituendo con quanto ti ho detto crei un link per ogni titolo
    che poi sfrutterai per fare quello che albis ti ha scritto in specifico, solo che
    albis credo si sia sbagliato ed ha riscritto titolo nel suo esempio anzi che
    descrizione.
    Un appunto, albis ha messo come paramentro di passaggio CampoIdRecord
    Solo che tu non hai specificato se c'è anche un id, mi sono basato
    su quanto da te detto, ovvero che la tabella ha solo 2 campi.
    La select sarebbe questa:

    SELECT descrizione FROM news where Titolo =" & Request.QueryString("Titolo"),

  6. #6
    meglio che tu aggiunga un id, metti il caso che ci siano 2 news con lo stesso titolo...

    Request.QueryString("Titolo") > passando questo parametro avresti dei problemi

  7. #7

    aiutatemi

    Avevo lo stesso problema allora ho provato a eseguire i vostri consigli.. mi ha dato per ore errore..

    ora sono a questo punto:

    mi appare la mia tabella ma il campo titolo_album che è quello il cui testo poi verrebbe linkato alle pagine di dettaglio, è completamente vuoto, per tutti i record. Tutti gli altri campi della tabella (no link) vengono visualizzati alla grande.

    posto il mio codice:

    codice:
    <html>
    <head>
    <title>GESTIONE RECORD</title>
    <link href="stilicssasp/stiletmusicaasp.css" rel="stylesheet" type="text/css">
    </head>
    
    <body>
    <p class="stiletmusicaasp"><table width="800" border="1"> 
      <td class="stiletmusicaasp"></p>
    <tr> 
        <td>Artista</td>
        <td>Album</td>
        <td>Anno</td>
        <td>Genere</td>
        <td>Votazione</td>
        <td>Autore</td>
      </tr>
        <%
    SQL="SELECT * FROM dati_magazine"
    Set rec= Server.CreateObject("ADODB.Recordset")
    Set Rec=Conn.Execute(SQL)
    While Not rec.EOF%>
            <tr>
          <td><%=rec("artista_gruppo")%></td>
          <td><font size="2" face="Tahoma">"<%=rec("titolo_album")%></font></td>
    	  <td><%=rec("anno")%></td>
          <td><%=rec("genere")%></td>
    	  <td><%=rec("voto")%></td>
    	  <td><%=rec("autore")%></td>
        </tr>
      <% rec.MoveNext
    Wend
    rec.close%>
    </div>
    
    
    </p>
    
    
    Aggiungi record - <a href="indicemagazine_ordineartista.asp">Ordina 
      per artista</a></p>
    </body>
    </html>
    grazie!!!

  8. #8

    se puo essere utile

    questa è la pagina PaginaDettaglioMagazine

    che devo aggiungere ancora?

    codice:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head>
    <title>Documento senza titolo</title>
    <meta http-equiv="Content-Type" content="text/html; charecet=iso-8859-1">
    </head>
    <%@LANGUAGE = VBScript%>
    <%
    ' DEFINISCO LE VARIABILI CHE MI SERVONO PER L'APPLICAZIONE
    Dim sc, cn, rec, quanti, pag, contatore
    
    ' DEFINISCO LA STRINGA DI CONNESSIONE
    sc = ""
    sc = sc & "driver={Microsoft Access Driver (*.mdb)};dbq="
    sc = sc & Server.MapPath("/mdb-database/magazine.mdb")
    
    ' IMPOSTO LA CONNESSIONE EDIL RECORDSET
    Set cn = Server.CreateObject("ADODB.Connection")
    Set rec = Server.CreateObject("ADODB.Recordset")
    
    ' APRO LA CONNESSIONE COL DATABASE
    cn.Open sc
    
    ' DEFINISCO IL NUMERO DI RECORD DA VISUALIZZARE PER OGNI PAGINA
    quanti = 5
    
    ' RECUPERO IL NUMERO DI PAGINA CORRENTE
    ' E CONTROLLO CHE NON SIA INFERIORE A 1
    pag = Request.QueryString("pag")
    If IsNumeric(pag) = False Or pag < 1 Then pag = 1
    
    ' IMPOSTO UN CONTATORE
    contatore = 0
    %>
    
    <div align="center">
    
    <p class="stiletmusicaasp"><table width="800" border="1"> 
    <%
    ' APRO IL RECORDSET
    rec.Open "SELECT testo FROM dati_magazine where id =" & Request.QueryString("id"), cn, 1
    ' EFFETTUO MATERIALMENTE LA PAGINAZIONE
    rec.PageSize = quanti
    rec.AbsolutePage = pag
    ' ESEGUO IL CICLO
    if rec.EOF = False then
    %>
    <%=rec("testo")%>"><%=rec("testo")%>
    
    <%end if%>

  9. #9
    <td>
    <font size="2" face="Tahoma">
    <a href="PaginaDettaglioMagazine.asp?id=<%=rec("id")% >"<%=rec("titolo_album")%>
    </a></font>
    </td>

    Non vedi che è scritta in modo sbagliato?

    scrivi così:

    <a href=PaginaDettaglioMagazine.asp?id=<%=rec("id")%> > <%=rec("titolo_album")%>
    </a>

  10. #10
    No !

    <a href=PaginaDettaglioMagazine.asp?id=<%=rec("id")%> > <%=rec("titolo_album")%>
    </a>

    Si !


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.