Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    Aiuto per gestione notizie (generi)

    Salve,

    ho bisogno del vostro aiuto poiché non ho molta pratica con asp, e non riesco a risolvere un problema con le notizie di un sito.

    Più precisamente: adesso posso visualizzare le notizie non ancora scadute (il calcolo viene fatto tra data di scadenza e data attuale …).
    Poiché ci sono molte notizie, mi è stato chiesto di dividerle per generi. Ho, quindi inserito una colonna del database (access) con i generi (es.: AAA, BBB, CCC, ecc.).
    Vorrei far vedere in una pagina solo le notizie AAA. In un’altra solo quelle BBB, ecc.

    Ho provato cercando di modificare la SELECT esistente, ma mi da sempre errore.

    Potreste darmi delle indicazioni su come devo procedere ….

    Grazie.

    Posto qui di seguito il codice della pagina.


    <%
    Dim DBConn, Rs, ListaAgenda, NumeroAgenda, NumeroPagine, BarraNavigazione, Pagina, i
    Dim Paginazione

    Paginazione = 10

    ' -----------------------
    ' Connessione al DSN
    ' -----------------------
    'Set DBConn = Server.CreateObject("ADODB.Connection")
    'DBConn.Open "Agenda"

    Set DBConn = Server.CreateObject("ADODB.Connection")
    DBConn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.mappath("..\..\mdb-database") & "\newsA.mdb;"


    ' ------------------------------------------------------------------------------
    ' Prepara la stringa contenente il menu di navigazione fra i messaggi
    ' ------------------------------------------------------------------------------
    If Request.QueryString("Pagina")="" Then
    Pagina = "1"
    Else
    Pagina = Trim(Request.QueryString("Pagina"))
    End If

    Set Rs = DBConn.Execute( "SELECT Count(*) AS NumAgenda FROM Agenda WHERE Agenda.DataScadenzaPub>Date() or Agenda.DataScadenzaPub Is Null;" )



    NumeroAgenda = CInt(Rs.Fields( "NumAgenda" ))

    NumeroPagine = 1
    Pagina = CInt( Pagina )

    BarraNavigazione =""
    If NumeroAgenda <> 0 Then

    BarraNavigazione = BarraNavigazione & "Pagina: "

    If Paginazione > NumeroAgenda Then
    Paginazione = NumeroAgenda
    End If

    NumeroPagine = CInt(NumeroAgenda / Paginazione)
    IF NumeroAgenda Mod Paginazione <> 0 then
    NumeroPagine = NumeroPagine + 1
    End If

    i = 1
    Do While i<>(NumeroPagine+1)

    If Pagina = i Then
    BarraNavigazione = BarraNavigazione & "" & Pagina & ""
    Else
    BarraNavigazione = BarraNavigazione & "<a href=""lista.asp?Pagina=" & i & """>"
    BarraNavigazione = BarraNavigazione & i & "</a>"
    End If
    BarraNavigazione = BarraNavigazione & ""
    i = i + 1
    Loop

    If Pagina <> 1 Then
    BarraNavigazione = BarraNavigazione & "[ precedente ]"
    End If

    If Pagina <> NumeroPagine Then
    BarraNavigazione = BarraNavigazione & "[ successiva ]"
    End If

    End If


    ' -------------------------------
    ' Prepara la Lista delle Notizie AGENDA
    ' -------------------------------
    'Set Rs = DBConn.Execute( "SELECT * FROM Agenda WHERE Agenda.DataScadenzaPub>Date() or Agenda.DataScadenzaPub Is Null ORDER BY Data DESC" )

    Set Rs = DBConn.Execute( "SELECT * FROM Agenda WHERE Agenda.DataScadenzaPub>Date() or Agenda.DataScadenzaPub Is Null AND Agenda.Genere=BBB ORDER BY Data DESC" )



    For i = 1 To (Paginazione * (Pagina-1))
    Rs.MoveNext
    Next

    i = 0
    ListaAgenda = "<DIV align=center><font face=""Arial"" size=""1""><TABLE WIDTH=""90%"" border=0>"
    Do While Not (Rs.EOF Or i=Paginazione)

    Data = "" & Day(Rs.Fields("Data")) & "/" & Month(Rs.Fields("Data")) & "/" & Year(Rs.Fields("Data"))
    IDN = "" & Rs.Fields("IDNews")

    Genere = "" & Rs.Fields("Genere")

    Titolo = "" & Rs.Fields("Titolo")
    DataScadenzaPub = Rs("DataScadenzaPub")

    If ((IsNull(DataScadenzaPub)) or (datediff("d",DataScadenzaPub,Date()) < 0)) Then

    Data = "" & Day(Rs.Fields("Data")) & "/" & Month(Rs.Fields("Data")) & "/" & Year(Rs.Fields("Data"))
    IDN = "" & Rs.Fields("IDNews")
    Titolo = "" & Rs.Fields("Titolo")
    ListaAgenda = ListaAgenda & "<TR style='font-size:10pt;'><TD valign=baseline align=center width=""10%"">" & Data & "</TD><TD valign=baseline width=""80%""><p style=""margin-top: 5"" ""margin-bottom: 5""><font color=""#003366"" face=""Arial"" size=""2""><p align=""justify"">" & Titolo & "</p></font></TD></tr>"


    'Data = "" & Rs.Fields("Data")
    'IDN = "" & Rs.Fields("IDNews")
    'Titolo = "" & Rs.Fields("Titolo")
    'ListaAgenda = ListaAgenda & "<TR style='font-size:10pt;'><TD valign=top WIDTH=""10%""><font color=""#003366"" face=""Arial"" size=""2""> Data: </font> </TD><TD valign=top WIDTH=""15%"">" & Data & "</TD><TD valign=top WIDTH=""10%""><font color=""#003366"" face=""Arial"" size=""2"">Titolo: </font></TD><TD WIDTH=""85%"" valign=top>" & Titolo & "
    </TD></tr>
    "

    i = i + 1
    End If
    %>


    <%
    Rs.MoveNext

    Loop

    ListaAgenda = ListaAgenda & "</TABLE></FONT></DIV>"
    Rs.Close
    Set Rs = Nothing
    %>

  2. #2
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    codice:
    Set Rs = DBConn.Execute( "SELECT * FROM Agenda WHERE (Agenda.DataScadenzaPub>Date() or Agenda.DataScadenzaPub Is Null) AND Agenda.Genere='BBB' ORDER BY Data DESC" )

    Nel caso il genere fosse contenuto in una variabile la query cambierebbe così:

    codice:
    genere = "BBB"
    Set Rs = DBConn.Execute( "SELECT * FROM Agenda WHERE (Agenda.DataScadenzaPub>Date() or Agenda.DataScadenzaPub Is Null) AND Agenda.Genere='"& genere &"' ORDER BY Data DESC" )

    Roby

  3. #3
    azz che groviglio!

    potresti postare anche il tipo di errore e a quale riga di codice corrisponde (marcando la riga di codice "colpevole") ?

    Se no è dura...
    «Nella mia carriera ho sbagliato più di novemila tiri. Ho perso quasi trecento partite. Ventisei volte i miei compagni mi hanno affidato il tiro decisivo e l'ho sbagliato. Nella vita ho fallito molte volte. Ed è per questo che alla fine ho vinto tutto» - Michael Jordan

    «Prima ti ignorano, poi ti deridono, poi ti combattono. Poi vinci.» - Gandhi

  4. #4
    Set Rs = DBConn.Execute( "SELECT * FROM Agenda WHERE Agenda.DataScadenzaPub>Date() or Agenda.DataScadenzaPub Is Null AND Agenda.Genere=BBB ORDER BY Data DESC" )
    a naso qui c'è già un errore.

    Date() non puoi inserirlo dentro le virgolette della tua select.
    e anche BBB va messo fra gli apici


    devi scriverlo tipo:

    Set Rs = DBConn.Execute( "SELECT * FROM Agenda WHERE Agenda.DataScadenzaPub> " & Date()& " or Agenda.DataScadenzaPub Is Null AND Agenda.Genere='BBB' ORDER BY Data DESC" )
    «Nella mia carriera ho sbagliato più di novemila tiri. Ho perso quasi trecento partite. Ventisei volte i miei compagni mi hanno affidato il tiro decisivo e l'ho sbagliato. Nella vita ho fallito molte volte. Ed è per questo che alla fine ho vinto tutto» - Michael Jordan

    «Prima ti ignorano, poi ti deridono, poi ti combattono. Poi vinci.» - Gandhi

  5. #5
    Grazie tante per le risposte Roby_72 e Nuvolari2.

    Avete perfettamente centrato la linea che da l’errore.

    Vi preciso che il testo originario e funzionate era:

    Set Rs = DBConn.Execute( "SELECT * FROM Agenda WHERE Agenda.DataScadenzaPub>Date() or Agenda.DataScadenzaPub Is Null ORDER BY Data DESC" )


    Seguendo le indicazioni che mi ha dato Roby_72:

    Set Rs = DBConn.Execute( "SELECT * FROM Agenda WHERE (Agenda.DataScadenzaPub>Date() or Agenda.DataScadenzaPub Is Null) AND Agenda.Genere='"& BBB &"' ORDER BY Data DESC" )

    Mi da il seguente errore:

    Microsoft OLE DB Provider for ODBC Drivers error '80040e07'
    [Microsoft][ODBC Microsoft Access Driver] Data type mismatch in criteria expression.
    (riferita appunto a questa riga)


    Invece se metto come mi ha indicato Nuvolari2:

    Set Rs = DBConn.Execute( "SELECT * FROM Agenda WHERE Agenda.DataScadenzaPub> " & Date()& " or Agenda.DataScadenzaPub Is Null AND Agenda.Genere='BBB' ORDER BY Data DESC" )

    Non mi da errore, ma fa vedere tutte le notizie senza distinzioni di generi.


    Chiedo ancora il vostro aiuto ...,

    Grazie

  6. #6
    Up!

    Nessuno che possa aiutarmi??

  7. #7

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.