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

Discussione: database e asp

  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2007
    Messaggi
    159

    database e asp


    Ciao a tutti, premetto che conosco molto poco l'ASP. Il mio problema è questo:
    ho dieci pagine .asp, ad ognuna di queste vorrei far leggere una riga del mio database.
    Esempio:
    alla pagina 1 vorrei far leggere la prima riga del database
    alla pagina 2 vorrei far leggere la seconda riga del database
    alla pagina 3 vorrei far leggere la terza riga del database

    Non riesco a trovare un codice adatto, mi potreste aiutare?
    Grazie mille

  2. #2
    Utente di HTML.it
    Registrato dal
    Oct 2001
    Messaggi
    29
    forse no hai cercato abbastanza, ce ne sono a decine di esempi nella sezione ASP di questo sito, basta che fai un accesso al database in ogni pagina e ti prendi i dati che ti servono.
    In questo caso vado nel database e conto i record di un determinato campo "ID"
    <%
    Dim Conn
    Dim totVOTI
    Set Conn = Server.CreateObject("ADODB.Connection")
    conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & server.mappath("mdb-database\sondaggio.mdb")
    Dim rs
    Set rs = Server.CreateObject("ADODB.Recordset")
    rs.Open "select * from tabdati order by id DESC", conn
    sql = "SELECT COUNT(ID) AS RECORD_COUNT FROM TabDati"
    Set rs = conn.Execute(sql)
    TotVOTI=rs("RECORD_COUNT")
    RESPONSE.WRITE totVOTI
    RS.Close
    Set RS = Nothing
    conn.Close
    Set conn=Nothing
    %>

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2007
    Messaggi
    159

    database e asp

    Ti ringrazio molto ma non capisco dove inserire il numero del record da far leggere alla pagina asp.
    Ho modificato lo script così:
    <%
    Dim Conn
    Dim descrizione
    Set Conn = Server.CreateObject("ADODB.Connection")
    conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & server.mappath("database/link.mdb")
    Dim rs
    Set rs = Server.CreateObject("ADODB.Recordset")
    rs.Open "select * from link order by id DESC", conn
    sql = "SELECT COUNT(ID) AS RECORD_COUNT FROM LINK"
    Set rs = conn.Execute(sql)
    descrizione=rs("RECORD_COUNT")
    RESPONSE.WRITE descrizione
    RS.Close
    Set RS = Nothing
    conn.Close
    Set conn=Nothing
    %>
    dove descrizione link è il nome della tabella e decrizione è una colonna.
    Grazie ancora

  4. #4
    Devi usare uno script che fa la paginazione mettendo
    rs.pageSize = 1

  5. #5
    Utente di HTML.it
    Registrato dal
    Jul 2007
    Messaggi
    159

    database e asp

    Grazie ma non funziona. Io parto da qui
    <%

    Dim Conn

    Set Conn = Server.CreateObject("ADODB.Connection")
    conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & server.mappath("database/link.mdb")
    Dim rs

    Set rs = Server.CreateObject("ADODB.Recordset")
    rs.Open "select * from link order by id DESC", conn

    Do while NOT RS.EOF
    %>





    <%

    Dim descrizione
    descrizione=rs("descrizione")

    response.write(descrizione)

    %>

    <%

    Dim link

    link=rs("link")

    %>
    <% response.write(link) %>
    </p>

    <%

    RS.MoveNext

    Loop
    RS.Close

    Set RS = Nothing

    conn.Close

    Set conn=Nothing

    %>
    Così com'è la pgina .asp legge tutte le righe del database.
    Come posso modificare il tutto per far leggere alla pagina .asp solo il rigo 1 del database?
    Lo stesso procedimento lo userò per far leggere alle altre pagine.asp le atre righe
    Grazie e ciao

  6. #6
    codice:
    <%
    Dim pagina 
    pagina = request.queryString("pagina")
    if len(pagina) > 0 and isNumeric(pagina) then
      pagina = cLng(pagina)
    else
      pagina = 1
    end if
    
    Dim recordPerPagina
    recordPerPagina = 1
    
    Dim Conn 
    Set Conn = Server.CreateObject("ADODB.Connection") 
    conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & server.mappath("database/link.mdb") 
    
    Dim rs 
    Set rs = Server.CreateObject("ADODB.Recordset") 
    rs.Open "select * from link order by id DESC", conn, 1, 3 
    
    RS.pageSize = recordPerPagina
    RS.absolutePage = pagina
    
    If Not RS.eof then
    for i = 1 to recordPerPagina
    if rs.eof then exit for
    %>
    
    
    
    <%
    Dim descrizione
    descrizione = rs("descrizione") 
    response.write(descrizione)
    %>
    
    
    <% 
    Dim link 
    link=rs("link") 
    %>
    <% response.write(link) %> 
    </p> 
    <%
    rs.moveNext
    next
    end if
    
    if pagina > 1 then
    %>
    Precedente 
    <%
    end if
    
    if pagina < rs.pageCount then
    %>
    Successiva 
    <%
    end if
    
    RS.Close 
    Set RS = Nothing 
    
    conn.Close 
    Set conn = Nothing 
    %>

  7. #7
    Utente di HTML.it
    Registrato dal
    Jul 2007
    Messaggi
    159

    database e asp

    Grazie, il tutto funziona.
    Il mio problema però è un altro e non riesco a spiegarlo bene, ci riprovo.
    Le pagine .asp saranno indipendenti, cioè si cliccherà su dei link e si apriranno queste pagine.asp
    Diciamo le prima pagina si chiamerà pippo.asp, all'interno della quale si dovrà visualizzare il primo rigo del db.
    La seconda pagina si chiamerà pluto.asp, all'interno della quale si dovrà visualizzare il secondo rigo del db. ...e così via.
    Vorrei sapere quindi il codice da inserire nella pagina pippo, pluto, ecc.
    Praticamente cambierà solo il rigo da leggere.
    Ciao

  8. #8
    Scusa, ma che senso ha fare tante pagine, una per ogni vista?
    La programmazione ASP (così come quella PHP, JSP, ColdFusione, etc) serve a snellire e a rendere dinamiche le applicazioni.
    Comunque, contento tu.
    Se vuoi puoi fare una pagina per ogni vista modifica il mio esempio nelle parti qui riportate. Tutte le pagine dovranno contenere il codice da me postato in precedenza con le modifiche qui sotto e personalizzando per ogni pagina le parti in grassetto.):

    all'inizio della pagina...
    codice:
    ' QUESTA E' PAGINA 3
    Dim questaPagina
    questaPagina = 3
    
    Dim pagina 
    pagina = questaPagina
    end if
    poi in fondo alla pagina...
    codice:
    if pagina > 1 then
    %>
    Precedente 
    <%
    end if
    
    if pagina < rs.pageCount then
    %>
    Successiva 
    <%
    end if
    Ripeto però, a me sembra un lavoro inutile e privo di logica, per quanto riguarda l'utilizzo della programmazione web... comunque, contento tu.
    Ciao.

  9. #9
    Utente di HTML.it
    Registrato dal
    Jul 2007
    Messaggi
    159

    database e asp

    Ti spiego quello che vorrei fare.
    Parto da una pagina con una lista di alberghi. Cliccando su ogni albergo visualizzerò su una pagina .asp con delle notizie che cambieranno ogni anno (es. Prezzi).
    Ho pensato che se utilizzo le pagine dinamiche evito di correggere le pagine una ad una, e cambio i dati solo sul database.
    Diciamo che al primo del db rigo ho le informazioni dell'albergo X al secondo informazioni dell'albergo y e così via.
    A questo punto partendo dal mio script, nella pagina .asp visualizzo tutte le righe e non quella che mi interessa.
    Premetto che è il mio primo approccio verso l'ASP, quindi ho delle difficoltà a capire il linguaggio di uno esperto.
    Concludendo la pagina dell'albergo X (primo rigo del database) e la pagina dell'albergo (y) (secondo rigo del database) che script avranno?

    Grazie

  10. #10
    Vediamo se ho capito:
    Te ha un elenco di alberghi. Ogni rigo di questo elenco è un link che punta alla pagina dettaglio dell'albergo. In fondo alla pagina dettaglio dell'albergo te vuoi i link per andare avanti e indientro, ovvero all'albergo successivo o a quello precedente, giusto?

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 © 2026 vBulletin Solutions, Inc. All rights reserved.