Pagina 1 di 4 1 2 3 ... ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 36
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2004
    Messaggi
    72

    Mostrare determinati record di una tabella

    Salve a tutti ho un problema che mi assale, in pratica stò adattando una galleria dinamica di immagini in asp e access 2000, ora ho una tabella nel db che contiene l'elenco delle sezioni, ed una che contiene i path delle foto e l'ID; ora ogni sezione ha ovviamente un'ID univoco e tramite asp visualizzo il contenuto di tale tabella, fin qui tutt'ok, ora nella pagina che mostra le foto avrei la necessità di mostrare solo le foto con quell'ID univoco della sezione, ma non mi riesce, in pratica mi visualizza tutte le foto presenti nella tabella indipendentemente dall'ID, spero ci sia una soluzione altrimenti sono rovinato, cmq questo è il codice che utilizzo per mostrare le foto:

    codice:
    <%
    Dim conn                  
    'La solita variabile di connessione
    Dim iPageSize
    'Numero di record da visualizzare per ogni pagina
    Dim iPageCount
    'Numero di pagine totali che otteniamo dalla query
    Dim iPageCurrent      
    'Pagina corrente
    Dim strOrderBy         
    'Parametro in base a cui definire l'ordinamento
    Dim strSQL                 
    'Comando da eseguire per effettuare la ricerca
    Dim RS                        
    'Il nostro solito recordSet
    Dim iRecordsShown 
    'Variabile usata per definire i record mostrati
    iPageSize = 5
    If Request.QueryString("page") = "" Then 
    	iPageCurrent = 1 
    Else 
    	iPageCurrent = CInt(Request.QueryString("page")) 
    End If 
    If Request.QueryString("order") = "" Then 
    	strOrderBy = "ID_Foto" 
    Else 
    	strOrderBy = Request.QueryString("order") 
    End If
    
    Set conn = Server.CreateObject("ADODB.Connection") ' setto la variabile connessione come ADODB
    conn.Open="DRIVER={Microsoft Access Driver (*.mdb)};"&"DBQ="&Server.MapPath("DB.mdb") 
    
    Set RS = Server.CreateObject("ADODB.Recordset") 
    sql = "SELECT * FROM Fotoeventi ORDER BY " & strOrderBy & " DESC;" 
    RS.Open sql, conn, adOpenKeyset 
    RS.PageSize = iPageSize 
    RS.CacheSize = iPageSize 
    
    iPageCount = RS.PageCount 
    If iPageCurrent > iPageCount Then iPageCurrent = iPageCount 
    If iPageCurrent < 1 Then iPageCurrent = 1 
    If iPageCount = 0 Then
    Response.Write("Non ci sono immagini da visualizzare!")
    Else 
    	RS.AbsolutePage = iPageCurrent 
    	iRecordsShown = 0 
    
    Do While iRecordsShown < iPageSize And Not RS.EOF 
    %>

    e poi tutto il resto, che non credo serva, spero in un vostro aiuto e soprattutto che si posso risolvere in qualche modo, ciao


    P.S. ho fatto una ricerca sul forum ma non ho trovato risposte al mio quesito, inoltre non mi assalite sono agli inizi con asp

  2. #2
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Devi passare l'identificativo della sezione ed utilizzarlo nella query delle foto:

    codice:
    <%
    Dim sezione_id
    sezione_id = trim(request.querystring("sezione_id")) 
    Dim conn                  
    'La solita variabile di connessione
    Dim iPageSize
    'Numero di record da visualizzare per ogni pagina
    Dim iPageCount
    'Numero di pagine totali che otteniamo dalla query
    Dim iPageCurrent      
    'Pagina corrente
    Dim strOrderBy         
    'Parametro in base a cui definire l'ordinamento
    Dim strSQL                 
    'Comando da eseguire per effettuare la ricerca
    Dim RS                        
    'Il nostro solito recordSet
    Dim iRecordsShown 
    'Variabile usata per definire i record mostrati
    iPageSize = 5
    If Request.QueryString("page") = "" Then 
    	iPageCurrent = 1 
    Else 
    	iPageCurrent = CInt(Request.QueryString("page")) 
    End If 
    If Request.QueryString("order") = "" Then 
    	strOrderBy = "ID_Foto" 
    Else 
    	strOrderBy = Request.QueryString("order") 
    End If
    
    Set conn = Server.CreateObject("ADODB.Connection") ' setto la variabile connessione come ADODB
    conn.Open="DRIVER={Microsoft Access Driver (*.mdb)};"&"DBQ="&Server.MapPath("DB.mdb") 
    
    Set RS = Server.CreateObject("ADODB.Recordset") 
    sql = "SELECT * FROM Fotoeventi WHERE sezione_id = "& sezione_id &"  ORDER BY " & strOrderBy & " DESC;" 
    RS.Open sql, conn, adOpenKeyset 
    RS.PageSize = iPageSize 
    RS.CacheSize = iPageSize 
    
    iPageCount = RS.PageCount 
    If iPageCurrent > iPageCount Then iPageCurrent = iPageCount 
    If iPageCurrent < 1 Then iPageCurrent = 1 
    If iPageCount = 0 Then
    Response.Write("Non ci sono immagini da visualizzare!")
    Else 
    	RS.AbsolutePage = iPageCurrent 
    	iRecordsShown = 0 
    
    Do While iRecordsShown < iPageSize And Not RS.EOF 
    %>

    Roby

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2004
    Messaggi
    72
    Ho provato anche prima a fare questa operazione ma non funge, mi restituisce questo errore:
    Tipo di errore:
    Microsoft OLE DB Provider for ODBC Drivers (0x80040E21)
    Il driver ODBC non supporta le proprietà richieste.
    gallery.asp, line 76

    dove alla linea 76 trovi:

    codice:
    RS.Open sql, conn, adOpenKeyset
    , hai un'altro metodo da suggerirmi?

  4. #4
    Utente di HTML.it
    Registrato dal
    Jul 2003
    Messaggi
    254
    Fatti stampare a vidoe la select prima di eseguirla.

    Il nome del campo id_sezione è corretto? E' stringa o numero? Se è una stringa lo devi mettere tra apici
    Ciao

  5. #5
    Utente di HTML.it
    Registrato dal
    Jun 2004
    Messaggi
    72
    ecco la select:

    codice:
    SELECT * FROM Fotoeventi WHERE sezione_id = ORDER BY ID_Foto DESC;
    il campo sezione_id è corretto ed è un numero, noti qualcosa di strano?

  6. #6
    Utente di HTML.it
    Registrato dal
    Jul 2003
    Messaggi
    254
    noto che è vuoto.

  7. #7
    Utente di HTML.it
    Registrato dal
    Jun 2004
    Messaggi
    72
    qual'è la soluzione, prima di passare l'id come mi ha spiegato roby:

    codice:
    Dim sezione_id
    sezione_id = trim(request.querystring("sezione_id"))
    tutto funzionava e la select era quindi piena, come mai adesso è vuota?

  8. #8
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Si ma nel link lo devi passare il paramentro della sezione... lo passi?

    Roby

  9. #9
    Utente di HTML.it
    Registrato dal
    Jun 2004
    Messaggi
    72
    il link nella pagina degli eventi è questo:

    ho sbagliato?

  10. #10
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Tu passi id non sezione_id quindi:

    codice:
    sezione_id = trim(request.querystring("id"))
    Roby

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.